#!/usr/bin/env tclsh proc vec x {list [expr {abs($x)}] [expr {($x>0)-($x<0)}]} for {set i 0} {$i < 10} {incr i} { set kx($i) 0 set ky($i) 0 } while {1} { set line [gets stdin] if {[eof stdin] || $line == ""} then break lassign [split $line] d n for {set i 0} {$i < $n} {incr i} { switch $d { R {incr kx(0) 1} U {incr ky(0) 1} L {incr kx(0) -1} D {incr ky(0) -1} } for {set j 1} {$j < 10} {incr j} { set p [expr {$j-1}] lassign [vec [expr {$kx($p)-$kx($j)}]] mx dx lassign [vec [expr {$ky($p)-$ky($j)}]] my dy if {$mx == 2 || $my == 2} { incr kx($j) $dx incr ky($j) $dy } } set v($kx(9),$ky(9)) 1 } } puts [array size v]