import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Hashtable;
import java.util.StringTokenizer;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static Long counter
= (long)0; public static void main
(String[] args
) {
System.
out.
println(Runtime.
getRuntime().
freeMemory() / 1000000.0 + "MB free");
try {
int user_choice
= Integer.
parseInt(ob1.
readLine());
int flag=0;
while(user_choice!=0)
{
user_choice--;
n
=Long.
parseLong(obj.
nextToken()); k
=Long.
parseLong(obj.
nextToken()); Hashtable
<Long, Long
> hash
= new Hashtable
<Long, Long
>(); while(n!=0)
{
start
=Long.
parseLong(obj1.
nextToken()); finish
=Long.
parseLong(obj1.
nextToken()); comp
=Long.
parseLong(obj1.
nextToken()); if(flag==0)
{
for(int i=1;i<=k;i++)
{
hash.put((long)i,(long)0);
}
}
finish1=hash.get(comp);
if(finish1==0)
{
hash.put(comp,finish);
counter++;
}
else if(finish1<=start)
{
counter++;
hash.put(comp,finish);
}
n--;
flag=1;
}
flag=0;
counter=(long)0;
/* for(int i=1;i<=k;i++)
System.out.println(hash.get((long)i) +" "+i );*/
}
System.
out.
println(t.
getClass().
getName() + " " + t.
getMessage()); for(StackTraceElement elem : t.getStackTrace()) {
}
}
}
}
aW1wb3J0IGphdmEuaW8uQnVmZmVyZWRSZWFkZXI7CmltcG9ydCBqYXZhLmlvLklucHV0U3RyZWFtUmVhZGVyOwppbXBvcnQgamF2YS51dGlsLkhhc2h0YWJsZTsKaW1wb3J0IGphdmEudXRpbC5TdHJpbmdUb2tlbml6ZXI7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHN0YXRpYyBMb25nIGNvdW50ZXIgPSAobG9uZykwOwogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAJU3lzdGVtLm91dC5wcmludGxuKFJ1bnRpbWUuZ2V0UnVudGltZSgpLmZyZWVNZW1vcnkoKSAvIDEwMDAwMDAuMCArICJNQiBmcmVlIik7CiAgICAJCiAgICAJdHJ5IHsKICAgIAkJCiAgICAgICAgQnVmZmVyZWRSZWFkZXIgb2IxPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgIGludCB1c2VyX2Nob2ljZT0gSW50ZWdlci5wYXJzZUludChvYjEucmVhZExpbmUoKSk7CgogICAgICAgIGludCBmbGFnPTA7CiAgICAgICAgd2hpbGUodXNlcl9jaG9pY2UhPTApCiAgICAgICAgewogICAgICAgICAgICB1c2VyX2Nob2ljZS0tOwogICAgICAgICAgICBTdHJpbmdUb2tlbml6ZXIgb2JqOwogICAgICAgICAgICBMb25nIG4sazsKICAgICAgICAgICAgb2JqPW5ldyBTdHJpbmdUb2tlbml6ZXIob2IxLnJlYWRMaW5lKCkpOwogICAgICAgICAgICBuPUxvbmcucGFyc2VMb25nKG9iai5uZXh0VG9rZW4oKSk7CiAgICAgICAgICAgIGs9TG9uZy5wYXJzZUxvbmcob2JqLm5leHRUb2tlbigpKTsKICAgICAgICAgICAgSGFzaHRhYmxlPExvbmcsIExvbmc+IGhhc2g9IG5ldyBIYXNodGFibGU8TG9uZywgTG9uZz4oKTsKICAgICAgICAgICAgd2hpbGUobiE9MCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RyaW5nVG9rZW5pemVyIG9iajE7CiAgICAgICAgICAgICAgICBMb25nIHN0YXJ0LGNvbXA7CiAgICAgICAgICAgICAgICBMb25nIGZpbmlzaDsKICAgICAgICAgICAgICAgIG9iajE9bmV3IFN0cmluZ1Rva2VuaXplcihvYjEucmVhZExpbmUoKSk7CiAgICAgICAgICAgICAgICBzdGFydD1Mb25nLnBhcnNlTG9uZyhvYmoxLm5leHRUb2tlbigpKTsKICAgICAgICAgICAgICAgIGZpbmlzaD1Mb25nLnBhcnNlTG9uZyhvYmoxLm5leHRUb2tlbigpKTsKICAgICAgICAgICAgICAgIGNvbXA9TG9uZy5wYXJzZUxvbmcob2JqMS5uZXh0VG9rZW4oKSk7CiAgICAgICAgICAgICAgICBpZihmbGFnPT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGZvcihpbnQgaT0xO2k8PWs7aSsrKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaGFzaC5wdXQoKGxvbmcpaSwobG9uZykwKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgTG9uZyBmaW5pc2gxOwogICAgICAgICAgICAgICAgZmluaXNoMT1oYXNoLmdldChjb21wKTsKICAgICAgICAgICAgICAgIGlmKGZpbmlzaDE9PTApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaGFzaC5wdXQoY29tcCxmaW5pc2gpOwogICAgICAgICAgICAgICAgICAgIGNvdW50ZXIrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYoZmluaXNoMTw9c3RhcnQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgY291bnRlcisrOwogICAgICAgICAgICAgICAgICAgIGhhc2gucHV0KGNvbXAsZmluaXNoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIG4tLTsKICAgICAgICAgICAgICAgIGZsYWc9MTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmbGFnPTA7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihjb3VudGVyKTsKICAgICAgICAgICAgY291bnRlcj0obG9uZykwOwogICAgICAgICAgICAvKiBmb3IoaW50IGk9MTtpPD1rO2krKykKICAgICAgU3lzdGVtLm91dC5wcmludGxuKGhhc2guZ2V0KChsb25nKWkpICsiICIraSApOyovCgogICAgICAgIH0KICAgICAgICAKICAgIAl9IGNhdGNoKFRocm93YWJsZSB0KSB7CiAgICAJCVN5c3RlbS5vdXQucHJpbnRsbih0LmdldENsYXNzKCkuZ2V0TmFtZSgpICsgIiAiICsgdC5nZXRNZXNzYWdlKCkpOwogICAgCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIAkJZm9yKFN0YWNrVHJhY2VFbGVtZW50IGVsZW0gOiB0LmdldFN0YWNrVHJhY2UoKSkgewogICAgCQkJU3lzdGVtLm91dC5wcmludGxuKGVsZW0pOwogICAgCQl9CiAgICAJfQogICAgfQp9