#!/usr/bin/env tclsh set turn 0 foreach n [split [gets stdin] ,] { set spoke($n) [list $turn] set last $n # puts "$turn : $last" incr turn } while {$turn < 30000000} { if {[llength $spoke($last)] == 1} { lappend spoke(0) $turn set last 0 } else { lassign [lrange $spoke($last) end-1 end] i j set last [expr {$j - $i}] lappend spoke($last) $turn } incr turn if {$turn == 2020} {puts "$turn : $last"} } puts "$turn : $last"