for (size_t p = 1; p < go.size(); ++p){
if (marked.find(p) != marked.end())
continue;
Interval i = intervals[points[p-1].first];
for (size_t p = 1; p < go.size(); ++p){
if (marked.find(p) != marked.end())
continue;
Interval i = intervals[points[p-1].first];