/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main
(String[] args
) { String strings
= "04/11/2019, 11/11/2019, 18/11/2019, 25/11/2019, 02/12/2019, 09/12/2019, 06/01/2020, 03/02/2020, 10/02/2020, 17/02/2020, 24/02/2020, 02/03/2020, 09/03/2020, 16/03/2020, 23/03/2020, 30/03/2020, 06/04/2020, 13/04/2020, 20/04/2020, 27/04/2020"; DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/uuuu");
List<LocalDate> collect = Stream.of(strings.split(", "))
.map(s -> LocalDate.parse(s, format))
.collect(Collectors.groupingBy(YearMonth::from))
.values().stream()
.map(a -> a.stream().sorted().limit(1).findFirst().get())
.sorted()
.collect(Collectors.toList());
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnRpbWUuTG9jYWxEYXRlOwppbXBvcnQgamF2YS50aW1lLlllYXJNb250aDsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuRGF0ZVRpbWVGb3JtYXR0ZXI7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5zdHJlYW0uQ29sbGVjdG9yczsKaW1wb3J0IGphdmEudXRpbC5zdHJlYW0uU3RyZWFtOwoKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJICAgIFN0cmluZyBzdHJpbmdzID0gIjA0LzExLzIwMTksIDExLzExLzIwMTksIDE4LzExLzIwMTksIDI1LzExLzIwMTksIDAyLzEyLzIwMTksIDA5LzEyLzIwMTksIDA2LzAxLzIwMjAsIDAzLzAyLzIwMjAsIDEwLzAyLzIwMjAsIDE3LzAyLzIwMjAsIDI0LzAyLzIwMjAsIDAyLzAzLzIwMjAsIDA5LzAzLzIwMjAsIDE2LzAzLzIwMjAsIDIzLzAzLzIwMjAsIDMwLzAzLzIwMjAsIDA2LzA0LzIwMjAsIDEzLzA0LzIwMjAsIDIwLzA0LzIwMjAsIDI3LzA0LzIwMjAiOwoJICAgIERhdGVUaW1lRm9ybWF0dGVyIGZvcm1hdCA9IERhdGVUaW1lRm9ybWF0dGVyLm9mUGF0dGVybigiZGQvTU0vdXV1dSIpOwoJICAgIExpc3Q8TG9jYWxEYXRlPiBjb2xsZWN0ID0gU3RyZWFtLm9mKHN0cmluZ3Muc3BsaXQoIiwgIikpCgkgICAgICAgIC5tYXAocyAtPiBMb2NhbERhdGUucGFyc2UocywgZm9ybWF0KSkKCSAgICAgICAgLmNvbGxlY3QoQ29sbGVjdG9ycy5ncm91cGluZ0J5KFllYXJNb250aDo6ZnJvbSkpCgkgICAgICAgIC52YWx1ZXMoKS5zdHJlYW0oKQoJICAgICAgICAubWFwKGEgLT4gYS5zdHJlYW0oKS5zb3J0ZWQoKS5saW1pdCgxKS5maW5kRmlyc3QoKS5nZXQoKSkKCSAgICAgICAgLnNvcnRlZCgpCgkgICAgICAgIC5jb2xsZWN0KENvbGxlY3RvcnMudG9MaXN0KCkpOwoJCgkgICAgU3lzdGVtLm91dC5wcmludGxuKGNvbGxlY3QpOwoJfQp9