eval'sub d{my(O,P,X,Y)=@_;myZ=S[O-1]=~w;$_-P&&(R=d($_,O)+Z*U*(W-V-1),X+=U,Y+=V)for@O;R+Z*(C-(U=X+!Z))*~-(V=Y+Z)}<>;$$_++for@s=<>=~/./g;/ /,push@{`},\'+!push@{\'+0},`for<>;print d 1'=~s/[A-Z`']/\$\l$&/gr