import java.io.*;
import java.lang.*;
import java.text.*;
import java.util.*;
class Ideone
{
public static int dayOfWeek(int year, int month, int day)
{
day += month < 3 ? year-- : year - 2;
return ((((23 * month) / 9) + day + 4 + (year / 4)) - (year / 100) + (year / 400)) % 7;
}
{
start.setTime(df.parse("1900-01-01"));
end.setTime(df.parse("2020-01-01"));
for (Date date
= start.
getTime(); start.
before(end
); start.
add(Calendar.
DATE,
1), date
= start.
getTime()) {
int expected = date.getDay();
int actual = dayOfWeek(date.getYear() + 1900, date.getMonth() + 1, date.getDate());
if (expected != actual)
{
}
}
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS50ZXh0Lio7CmltcG9ydCBqYXZhLnV0aWwuKjsKCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIGludCBkYXlPZldlZWsoaW50IHllYXIsIGludCBtb250aCwgaW50IGRheSkKCXsKCQlkYXkgKz0gbW9udGggPCAzID8geWVhci0tIDogeWVhciAtIDI7CgkJcmV0dXJuICgoKCgyMyAqIG1vbnRoKSAvIDkpICsgZGF5ICsgNCArICh5ZWFyIC8gNCkpIC0gKHllYXIgLyAxMDApICsgKHllYXIgLyA0MDApKSAlIDc7CiAgICB9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCURhdGVGb3JtYXQgZGYgPSBuZXcgU2ltcGxlRGF0ZUZvcm1hdCgieXl5eS1NTS1kZCIpOwoJCQoJCUNhbGVuZGFyIHN0YXJ0ID0gQ2FsZW5kYXIuZ2V0SW5zdGFuY2UoKTsKCQlzdGFydC5zZXRUaW1lKGRmLnBhcnNlKCIxOTAwLTAxLTAxIikpOwoJCUNhbGVuZGFyIGVuZCA9IENhbGVuZGFyLmdldEluc3RhbmNlKCk7CgkJZW5kLnNldFRpbWUoZGYucGFyc2UoIjIwMjAtMDEtMDEiKSk7CgoJCWZvciAoRGF0ZSBkYXRlID0gc3RhcnQuZ2V0VGltZSgpOyBzdGFydC5iZWZvcmUoZW5kKTsgc3RhcnQuYWRkKENhbGVuZGFyLkRBVEUsIDEpLCBkYXRlID0gc3RhcnQuZ2V0VGltZSgpKQoJCXsKCQkJaW50IGV4cGVjdGVkID0gZGF0ZS5nZXREYXkoKTsKCQkJaW50IGFjdHVhbCA9IGRheU9mV2VlayhkYXRlLmdldFllYXIoKSArIDE5MDAsIGRhdGUuZ2V0TW9udGgoKSArIDEsIGRhdGUuZ2V0RGF0ZSgpKTsKCQkJaWYgKGV4cGVjdGVkICE9IGFjdHVhbCkKCQkJewoJCQkJdGhyb3cgbmV3IFJ1bnRpbWVFeGNlcHRpb24oImV4cGVjdGVkOiAiICsgZXhwZWN0ZWQgKyAiLCBhY3R1YWw6ICIgKyBhY3R1YWwpOwoJCQl9CgkJfQoJfQp9