@a=(0,1,-1); @b=(1,0,0); for(0,<>=~/./g){ $i=(3&ord)-1; $x+=$a[$i]; $y+=$b[$i]; $\+=!$h{$x,$y}++; $b[$i]*=-1; if($a[$i]){ @$_[$i-1,$i-2]=@$_[$i-2,$i-1]for a,b; $_=-$_ for@a,@b; } } print