import java.time.*;
import java.time.format.*;

public class JDK8033723 {
    public static void main(String[] args) {
        parse("MM/dd/yy", "12/31/10000");
        parse("MM/dd/yy", "12/31/+10000");
        parse("yyyy-MM-dd", "10000-12-31");
        parse("yyyy-MM-dd", "+10000-12-31");
        parse("y-MM-dd", "10000-12-31");
        parse("y-MM-dd", "+10000-12-31");
    }

    private static void parse(String pattern, String input) {
        System.err.println("Parsing \"" + input + "\" leniently with pattern "+pattern);
        try {
            DateTimeFormatter df =
                new DateTimeFormatterBuilder().parseLenient()
                                              .appendPattern(pattern)
                                              .toFormatter();
            LocalDate date = LocalDate.from(df.parse(input));
            System.err.println("Success. Result = " + date);
        } catch (DateTimeParseException ex) {
            System.err.println("Failure. " + ex);
        }
        System.err.println();
    }
}
