package Ġad vent of code Ċ Ċ import Ġjava . io . File Ċ import Ġjava . io . InputStream Ċ import Ġjava . net . URL Ċ Ċ fun Ġretrieve Input ( day : ĠInt , Ġyear : ĠInt ) Ġ= ĊĠĠĠ Ġread From Cache ( day , Ġyear ) Ġ?: Ġread from Url ( day , Ġyear ). also Ġ{ Ġwrite ( it , Ġday , Ġyear ) Ġ} Ċ Ċ private Ġfun Ġread From Cache ( day : ĠInt , Ġyear : ĠInt ) Ġ= ĊĠĠĠ ĠFile (" data /$ year / input -$ day . txt "). take If Ġ{ Ġit . exists () Ġ} ?. read Text () Ċ Ċ private Ġfun Ġread from Url ( day : ĠInt , Ġyear : ĠInt ) Ġ= ĊĠĠĠ ĠURL (" https :// ad vent of code . com /$ year / day /$ day / input ") ĊĠĠĠĠĠĠĠ Ġ. open Connection () ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ Ġadd Request Property (" Cookie ", Ġ" session =$ A OC _ SESSION ") Ġ} ĊĠĠĠĠĠĠĠ Ġ. getInputStream () ĊĠĠĠĠĠĠĠ Ġ. use ( InputStream :: read Bytes ) ĊĠĠĠĠĠĠĠ Ġ. toString ( Charsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġ. trim End () Ċ Ċ private Ġfun Ġwrite ( input : ĠString , Ġday : ĠInt , Ġyear : ĠInt ) Ġ{ ĊĠĠĠ ĠFile (" data /$ year "). mkdir s () ĊĠĠĠ ĠFile (" data /$ year / input -$ day . txt "). write Text ( input ) Ċ } Ċ