| 92 | 
  | 
             || (!(t2.first < t1.first) && !(t2.second < t2.second) && t1.third < t2.third); | 
| 93 | 
  | 
} | 
| 94 | 
  | 
 | 
| 95 | 
+ | 
 | 
| 96 | 
+ | 
inline bool operator < (const tuple3<int, int, std::vector<std::string> >& t1, const tuple3<int, int, std::vector<std::string> >& t2) { | 
| 97 | 
+ | 
   | 
| 98 | 
+ | 
  if (t1.first < t2.first) | 
| 99 | 
+ | 
    return true; | 
| 100 | 
+ | 
  else { | 
| 101 | 
+ | 
    if (t1.first > t2.first)  | 
| 102 | 
+ | 
      return false; | 
| 103 | 
+ | 
     | 
| 104 | 
+ | 
    if (t1.second < t2.second)  | 
| 105 | 
+ | 
      return true; | 
| 106 | 
+ | 
    else  | 
| 107 | 
+ | 
      if (t1.second > t2.second)  | 
| 108 | 
+ | 
        return false; | 
| 109 | 
+ | 
     | 
| 110 | 
+ | 
    return true; | 
| 111 | 
+ | 
  }   | 
| 112 | 
+ | 
} | 
| 113 | 
+ | 
 | 
| 114 | 
  | 
template<class T1, class T2, class T3, class T4> | 
| 115 | 
  | 
inline bool operator < (const tuple4<T1, T2, T3, T4>& t1, const tuple4<T1, T2, T3, T4>& t2) { | 
| 116 | 
  | 
 |