import Ġkotlinx . coroutines .* Ċ Ċ fun Ġmain () Ġ= Ġrun Blocking Ġ{ ĊĠĠĠ Ġval Ġj 1 Ġ= Ġasync Ġ{ Ġcalc Fib onacci ( 4 0 ) Ġ} ĊĠĠĠ Ġprintln (" 1 ") ĊĠĠĠ Ġval Ġj 2 Ġ= Ġasync Ġ{ Ġcalc Fib onacci ( 4 5 ) Ġ} ĊĠĠĠ Ġprintln (" 2 ") ĊĠĠĠ Ġprintln (" fib ( 4 0 ) Ġ= Ġ${ j 1 . await () }") ĊĠĠĠ Ġprintln (" fib ( 4 5 ) Ġ= Ġ${ j 2 . await () }") ĊĠĠĠ Ġprintln (" F ert ig ") Ċ } Ċ Ċ suspend Ġfun Ġcalc Fib onacci ( n : ĠInt ) Ġ= Ġwith Context ( Dispatch ers . Default ) Ġ{ ĊĠĠĠ Ġprintln (" B ere ch ne Ġfib ($ n )") ĊĠĠĠ Ġfib onacci ( n ) Ċ } Ċ Ċ fun Ġfib onacci ( n : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( n Ġ<= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġn ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġfib onacci ( n Ġ- Ġ 1 ) Ġ+ Ġfib onacci ( n Ġ- Ġ 2 ) ĊĠĠĠ Ġ} Ċ }