/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
import java.time.format.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
YearMonth // Represent the year and month, without a date and without a time zone.
.from( // Extract the year and month from a `LocalDate` (a year-month-day).
LocalDate // Represent a date without a time-of-day and without a time zone.
.parse( // Get a date from an input string.
"1/13/2012" ,
DateTimeFormatter.ofPattern( "M/d/uuuu" ) // Specify a formatting pattern by which to parse the input string.
) // Returns a `LocalDate` object.
) // Returns a `YearMonth` object.
.atEndOfMonth() // Determines the last day of the month for that particular year-month, and returns a `LocalDate` object.
.toString() // Generate text representing the value of that `LocalDate` object using standard ISO 8601 format.
);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3lzdGVtLm91dC5wcmludGxuKAoJCQkKCVllYXJNb250aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXByZXNlbnQgdGhlIHllYXIgYW5kIG1vbnRoLCB3aXRob3V0IGEgZGF0ZSBhbmQgd2l0aG91dCBhIHRpbWUgem9uZS4KICAgIC5mcm9tKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFeHRyYWN0IHRoZSB5ZWFyIGFuZCBtb250aCBmcm9tIGEgYExvY2FsRGF0ZWAgKGEgeWVhci1tb250aC1kYXkpLiAKICAgICAgICBMb2NhbERhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXByZXNlbnQgYSBkYXRlIHdpdGhvdXQgYSB0aW1lLW9mLWRheSBhbmQgd2l0aG91dCBhIHRpbWUgem9uZS4KICAgICAgICAucGFyc2UoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHZXQgYSBkYXRlIGZyb20gYW4gaW5wdXQgc3RyaW5nLiAgICAgICAgCiAgICAgICAgICAgICIxLzEzLzIwMTIiICwKICAgICAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIub2ZQYXR0ZXJuKCAiTS9kL3V1dXUiICkgICAvLyBTcGVjaWZ5IGEgZm9ybWF0dGluZyBwYXR0ZXJuIGJ5IHdoaWNoIHRvIHBhcnNlIHRoZSBpbnB1dCBzdHJpbmcuCiAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmV0dXJucyBhIGBMb2NhbERhdGVgIG9iamVjdC4KICAgICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBSZXR1cm5zIGEgYFllYXJNb250aGAgb2JqZWN0LgogICAgLmF0RW5kT2ZNb250aCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERldGVybWluZXMgdGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aCBmb3IgdGhhdCBwYXJ0aWN1bGFyIHllYXItbW9udGgsIGFuZCByZXR1cm5zIGEgYExvY2FsRGF0ZWAgb2JqZWN0LgogICAgLnRvU3RyaW5nKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEdlbmVyYXRlIHRleHQgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZSBvZiB0aGF0IGBMb2NhbERhdGVgIG9iamVjdCB1c2luZyBzdGFuZGFyZCBJU08gODYwMSBmb3JtYXQuCgkJCQoJCSk7Cgl9Cn0=