import java.util.*;
class Interval implements Comparable<Interval> {
public int start, end;
public Interval(int s, int e) {
start = s;
end = e;
}
public boolean overlaps(Interval i) {
int a = start, b = end, c = i.start, d = i.end;
return ((c <= a && a <= d) || (a <= c && c <= b));
}
public boolean isSame(Interval i) {
return ((start == i.start) && (end == i.end));
}
@Override
public int compareTo(Interval i) {
return end - i.end;
}
@Override
return "[start: " + start + ", end: " + end + "]";
}
}
public class Main {
public static void main
(String[] args
) { // Read the input from the standard input (System.in) and print the output into the standard output (System.out)
//
// Everything must be implemented within this file (Main.java).
// You will have to submit one file, named Main.java, to the submit server
Scanner sc
= new Scanner
(System.
in); int i = sc.nextInt();
Interval[] times = new Interval[i];
int n = 0;
while (n < i) {
times[n++] = new Interval(sc.nextInt(),sc.nextInt());
}
HashMap<Interval,ArrayList<Interval>> res = new HashMap<Interval,ArrayList<Interval>>();
ArrayList<Interval> overlap = new ArrayList<Interval>();
for (n = 0; n < i; n++) {
Interval a = times[n];
ArrayList<Interval> noOver = new ArrayList<Interval>();
for (int k = n+1; k < i; k++) {
Interval b = times[k];
if ((a.isSame(b) == true) || (a.overlaps(b) == true)) {
continue;
} else if () {
}
}
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgSW50ZXJ2YWwgaW1wbGVtZW50cyBDb21wYXJhYmxlPEludGVydmFsPiB7CiAgICBwdWJsaWMgaW50IHN0YXJ0LCBlbmQ7CiAgICAKICAgIHB1YmxpYyBJbnRlcnZhbChpbnQgcywgaW50IGUpIHsKICAgICAgICBzdGFydCA9IHM7CiAgICAgICAgZW5kID0gZTsKICAgIH0KICAgIAogICAgcHVibGljIGJvb2xlYW4gb3ZlcmxhcHMoSW50ZXJ2YWwgaSkgewogICAgICAgIGludCBhID0gc3RhcnQsIGIgPSBlbmQsIGMgPSBpLnN0YXJ0LCBkID0gaS5lbmQ7CiAgICAgICAgcmV0dXJuICgoYyA8PSBhICYmIGEgPD0gZCkgfHwgKGEgPD0gYyAmJiBjIDw9IGIpKTsKICAgIH0KCiAgICBwdWJsaWMgYm9vbGVhbiBpc1NhbWUoSW50ZXJ2YWwgaSkgewogICAgICAgIHJldHVybiAoKHN0YXJ0ID09IGkuc3RhcnQpICYmIChlbmQgPT0gaS5lbmQpKTsKICAgIH0KCiAgICBAT3ZlcnJpZGUKICAgIHB1YmxpYyBpbnQgY29tcGFyZVRvKEludGVydmFsIGkpIHsKICAgICAgICByZXR1cm4gZW5kIC0gaS5lbmQ7CiAgICB9CgogICAgQE92ZXJyaWRlCiAgICBwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCkgewogICAgICAgIHJldHVybiAiW3N0YXJ0OiAiICsgc3RhcnQgKyAiLCBlbmQ6ICIgKyBlbmQgKyAiXSI7CiAgICB9Cn0KCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICAvLyBSZWFkIHRoZSBpbnB1dCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCAoU3lzdGVtLmluKSBhbmQgcHJpbnQgdGhlIG91dHB1dCBpbnRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgKFN5c3RlbS5vdXQpCiAgICAgICAgLy8KICAgICAgICAvLyBFdmVyeXRoaW5nIG11c3QgYmUgaW1wbGVtZW50ZWQgd2l0aGluIHRoaXMgZmlsZSAoTWFpbi5qYXZhKS4KICAgICAgICAvLyBZb3Ugd2lsbCBoYXZlIHRvIHN1Ym1pdCBvbmUgZmlsZSwgbmFtZWQgTWFpbi5qYXZhLCB0byB0aGUgc3VibWl0IHNlcnZlcgogICAgICAgIAogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBpID0gc2MubmV4dEludCgpOwogICAgICAgIEludGVydmFsW10gdGltZXMgPSBuZXcgSW50ZXJ2YWxbaV07CiAgICAgICAgaW50IG4gPSAwOwogICAgICAgIHdoaWxlIChuIDwgaSkgewogICAgICAgICAgICB0aW1lc1tuKytdID0gbmV3IEludGVydmFsKHNjLm5leHRJbnQoKSxzYy5uZXh0SW50KCkpOwogICAgICAgIH0KICAgICAgICBBcnJheXMuc29ydCh0aW1lcyk7CiAgICAgICAgSGFzaE1hcDxJbnRlcnZhbCxBcnJheUxpc3Q8SW50ZXJ2YWw+PiByZXMgPSBuZXcgSGFzaE1hcDxJbnRlcnZhbCxBcnJheUxpc3Q8SW50ZXJ2YWw+PigpOwogICAgICAgIEFycmF5TGlzdDxJbnRlcnZhbD4gb3ZlcmxhcCA9IG5ldyBBcnJheUxpc3Q8SW50ZXJ2YWw+KCk7CiAgICAgICAgZm9yIChuID0gMDsgbiA8IGk7IG4rKykgewogICAgICAgIAlJbnRlcnZhbCBhID0gdGltZXNbbl07CiAgICAgICAgCUFycmF5TGlzdDxJbnRlcnZhbD4gbm9PdmVyID0gbmV3IEFycmF5TGlzdDxJbnRlcnZhbD4oKTsKICAgICAgICAJZm9yIChpbnQgayA9IG4rMTsgayA8IGk7IGsrKykgewogICAgICAgIAkJSW50ZXJ2YWwgYiA9IHRpbWVzW2tdOwogICAgICAgIAkJaWYgKChhLmlzU2FtZShiKSA9PSB0cnVlKSB8fCAoYS5vdmVybGFwcyhiKSA9PSB0cnVlKSkgewogICAgICAgIAkJCWNvbnRpbnVlOwogICAgICAgIAkJfSBlbHNlIGlmICgpIHsKICAgICAgICAJCQkKICAgICAgICAJCX0KICAgICAgICAJfQogICAgICAgIH0KICAgIH0KfQ==