https://www.iit.bme.hu/~softlab3/lab05/java_5_szalak_tasks.pdf