Ввод/вывод и Файловый ввод/вывод в java.
Имена главных классов в файлах(public) могут быть любыми, но имена файлов должны совпадать с именами главных классов.
Merge branch 'master' of https://github.com/bumshmyak/algocourse