sub f{"@_"-$u["@_"]?f(@u[@_]):"@_"} @u=@n=0..<>-1; @$_=glob<>for d,w; for$i(@n){ $u=$v,$v=f$_=($i+($d[$i]*=-1))%@n for$a,$b; if($a-$b){ $u[$u]=$v; }else{ $w[$a]=$=*=3; } } for$i(@n){ $z=1,$u=f$i; for$j(@n){ $z^=$w[$j]^1,$w[$j]=3 if $u==f$j; } $r=No if!$z; } print$r||Yes;