package Ġxyz . dn f et he us . project euler Ċ Ċ import Ġkotlin . system . exit Process Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġparse Arguments ( args ). fold ( ĊĠĠĠĠĠĠĠ Ġ{ ĠProblem Handler ( it ). execute () Ġ}, ĊĠĠĠĠĠĠĠ Ġ{ Ġprintln ( it . message ). also Ġ{ Ġexit WithError () Ġ} Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun Ġparse Arguments ( args : ĠArray < String >): ĠResult < Short > Ġ= Ġwhen Ġ( args . size ) Ġ{ ĊĠĠĠĠ 1 Ġ-> Ġrun Catch ing Ġ{ Ġargs [ 0 ]. to Short () Ġ} ĊĠĠĠ Ġelse Ġ-> ĠResult . failure ( Exception (" No Ġargument Ġgiven ")) Ċ } Ċ Ċ fun Ġexit WithError () Ġ{ ĊĠĠĠ Ġexit Process ( 1 ) Ċ } Ċ