def f( p) :
p= map ( lambda s:map ( lambda d:d== 3 *( ' ' , ) and ( 0 , -1 ) or ( int ( d[ 0 ] +d[ 1 ] ) , '><^v' .index ( d[ 2 ] ) ) , zip ( s[ ::3 ] , s[ 1 ::3 ] , s[ 2 ::3 ] ) ) , p) ; x, y= max ( [ ( x, y) for x in range ( len ( p[ 0 ] ) ) for y in range ( len ( p) ) ] , key= lambda ( x, y) :p[ y] [ x] [ 0 ] ) ; r= o= 0
try :
while 1 :
1 /( y*x>= 0 ) ; d= p[ y] [ x]
if-1 < d[ 1 ] :r= eval ( 'r%sd[0]' %'+-*/' [ o] ) ; o= d[ 1 ] ; a= ( -( o== 1 ) , 1 ) [ o< 1 ] ; b= ( -( o== 2 ) , 1 ) [ o> 2 ]
x+= a; y+= b
except :print r
f( '''\
94> 66v
05v 08<
43>
03> 00^''' .split ( '\n ' ) ) # -> 215
f( '''\
77> 80v55^02<
20> 14^''' .split ( '\n ' ) ) # -> -19
f( '''\
22>11>15>80>14v
18^17> 10v
00^ 90v43^02v
07^11<15<22v01<''' .split ( '\n ' ) ) # -> -16
f( '''\
99>98>97>96>95>94v
93>92> 91v 03<''' .split ( '\n ' ) ) # -> 102
ZGVmIGYocCk6CiBwPW1hcChsYW1iZGEgczptYXAobGFtYmRhIGQ6ZD09MyooJyAnLClhbmQoMCwtMSlvcihpbnQoZFswXStkWzFdKSwnPjxedicuaW5kZXgoZFsyXSkpLHppcChzWzo6M10sc1sxOjozXSxzWzI6OjNdKSkscCk7eCx5PW1heChbKHgseSlmb3IgeCBpbiByYW5nZShsZW4ocFswXSkpZm9yIHkgaW4gcmFuZ2UobGVuKHApKV0sa2V5PWxhbWJkYSh4LHkpOnBbeV1beF1bMF0pO3I9bz0wCiB0cnk6Cgl3aGlsZSAxOgoJIDEvKHkqeD49MCk7ZD1wW3ldW3hdCgkgaWYtMTxkWzFdOnI9ZXZhbCgnciVzZFswXSclJystKi8nW29dKTtvPWRbMV07YT0oLShvPT0xKSwxKVtvPDFdO2I9KC0obz09MiksMSlbbz4yXQoJIHgrPWE7eSs9YgogZXhjZXB0OnByaW50IHIKCmYoJycnXAo5ND4gICAgICA2NnYKICAgMDV2ICAgMDg8CiAgICAgICAgIDQzPgogICAwMz4gICAwMF4nJycuc3BsaXQoJ1xuJykpICAjIC0+IDIxNQoKZignJydcCjc3PiAgIDgwdjU1XjAyPAogICAgICAyMD4gICAxNF4nJycuc3BsaXQoJ1xuJykpICAjIC0+IC0xOQoKZignJydcCjIyPjExPjE1PjgwPjE0dgoxOF4xNz4gICAgICAxMHYKMDBeICAgOTB2NDNeMDJ2CjA3XjExPDE1PDIydjAxPCcnJy5zcGxpdCgnXG4nKSkgIyAtPiAtMTYKCmYoJycnXAo5OT45OD45Nz45Nj45NT45NHYKOTM+OTI+ICAgOTF2ICAgMDM8JycnLnNwbGl0KCdcbicpKSAjIC0+IDEwMg==