Back
Close

Annihilation

Statement
Starting with an [[H]]x[[W]] grid at t=0, at each time step the arrows {{^v<>}} move one space up/down/left/right respectively (wrapping around if they go off the edge). After each time step, if two or more arrows are in the same position they are all destroyed. How many time steps does it take until there are no arrows remaining?

Input description
<<Line 1:>> [[H]] [[W]] <<Next [[H]] lines:>> The grid values.

Output description
The number of time steps until there are no arrows remaining.

Constraints
4 ≤ [[H]],[[W]] ≤ 50

Game modes
Fastest, Shortest

Test cases
Test 1 Test
Input
5 5 ..... ..v.. .>.<. ..^.. .....
Output
1

Validator 1 Validator
Input
5 5 ..v.. ..... >...< ..... ..^..
Output
2

Test 2 Test
Input
5 6 >..... ...... ...... ...... .....^
Output
29

Validator 2 Validator
Input
5 6 >..... ...... .....^ ...... ......
Output
17

Test 3 Test
Input
9 8 .......> ........ <.>..<.^ ><.....^ .^..v^.. ...v.>.. .....^<. ...>.... <.^^...v
Output
42

Validator 3 Validator
Input
8 13 ...><...<.<>. .^>..^vv.^... .<.v<v....>>. v^.>.<..<.vvv >..<>.....>.> ............. >.v<......... <......^..^.<
Output
79

Test 4 Test
Input
16 17 ..^.^>....v><.<.. ^..v.<v...vv.>.^. vv..>.v.<...v<<.^ >.>^.<^..<..vvv.^ >..^vv...<.<v..<. ..>.^.<.<.>.>..>v ..><.<>^v<v>^.<.> .<.<>......>v^.>. ..^>.<>^..<..<>>. .>.^v<..>.^v<.>>v >>^v.^v^.<>.v>... >^^v>>><.^v>..... .^..>><>>^v<.v..^ .>v....<>>>>^.<v< >v^.^v.>..^^^^<<. .v.v<..><.v^.^...
Output
237

Validator 4 Validator
Input
17 19 <v<<...>.v^>.>>>..^ >...<^.....v>><>>.. ^..vv<v<^.>...>.<^v v>....^.^<v..^.v<<. >..>>..^..v.>.<^v.v ..<.^<>.v...vvv.^^. .>..>..^.>vv<^.<^^^ >.^<...^^.v.<>.<.v. >>.vv...vv.<^....^> <.<.vv^<^...v.v..^< <v.<..^<^v>>>vv>.<v <.^v.<^.<...v^>^.v^ <^>>.^>v<....>^v>^^ v^.>...<.>.<>..>>.. .>.>..v.><.>.<..... .>.^<..>..v..<.>..< >.v..v..>^v.....v.v
Output
156

Test 5 Test
Input
41 33 .><<><<<>v>>><<.v^>v.v>.v<.^^><v^ ><.^v>^><<v>.v<><.vv>>.>v<.>v<v^^ >.<v.^v.v.^..v.v.<<.v^>^^v^<^^<<. ..^v...<vvv.<<v^v<vvv<vv.^^>>^.>^ <<^^.<<vv>>v>>..v<>^<^v^<<..^<>^^ >.<vv^<<^^<^.v><<<vv>.v^.^>>v^<v> <<<..^^^<<^.vvv^..><>>^^v<^^.^^>. >v>>^>^^^^<^<>>^<<^<v<.>>^<<.^>^. <>.^^.v^<.<^<vv.<.^>>>>><.<v<<^.> ...^^.^.v.v.^..<^^>.<.v^<>..<<v>^ <>vv>^.>vv.v^v^>.<v.vv<v.<<^^.^<> v^v>^><.>^<^^.<<^>.<.v><^<<.>><.< .v^>>v^<v.>v>.<<<>.<.^<v>v>v>vvv. <..vv<v.<><<.>>>.>>>^v.^.^<v>^^<v v^vv<.>v.<<.>>.v^^.^v^v.>v.<.vv>< ><^^<vv<vv<vv>^.<>^^v.^^.<vv>^^^< ..^>.^.....<>^>v>^vvv.^>^..v.v>>. ^^><v><^.>.^>v.^>vv.>^>.v>v.<<><< <.v^^<.>>^v<<<..>^v^.vv<v<v^^^>v> <^^.>><<>.v<.^^^v.^.v.^<^v<<><>^^ ^>><v>v.><>^vv<v.<.v^<>^.><<>^.>. .>^><.><^>><>>>vv^^^<<v><>><<v>.v vv.>v<.v<^<..v.vv<><<.^v><>vvv.<^ >v^v<>vvv<.^^>v.<^><.>..>^.>><^^v v>^^vv><><>.vv^<.>..><.<<v<<>.v.^ <v><.v..^<><v^^.<^<<<.>v^>><<.^^^ .>^>>>^^^^^...>>>^..>.>>>.vv<..<> .v>^>.^^.^^.^>>>vvvv>v^v>>^<>^<^v .>>>v<^v^^<^<.><..^<<v.v<vv^v><.^ <.<<^.<.^^vv^^.<<v^<^.v<v>..v.<.. v.<>^.^>>v.v<vv^><<<v><<.<^<^^v.v ><<<>vv>^^^<^vv.<<^.>^<.><>^v>><v .^v^v><>^.><<>^^^..v.v^^.v>v.^^.< <.^>..>v>.<>>^<.v...v..<<.>^>^.^v v.vv<v^v.>^<<v.>v>^>vv>><.vv<<><v >><v^<..>^>>.^<v>>v<.>>..><>.<v.< ^>^^^.>^><.<vv>.v<<v<^.<vv..^.^>< >^>vv>.v<<v>^^^><><v^>^<<<^^^>>^v .<>^<v.>.>v>^><>v..<^.<>vvv<<<^v. v.><^^<^<.v>^<<.>.<<<^>v.^^.^v.>. .vv>^<.v>>.v.^<vvv<><>v^^>vv>>^.<
Output
1084

Validator 5 Validator
Input
23 32 v^>^^vv>v^.>^.^<vvv^<<..^>^v<v^^ <v>.^vv^<<v^^v.<v.^<.v<<^>v<>vvv ^>.<v<.<.<<>vv.v^>.^.^.<>vv<v<^^ .^^<.<.v^>..^>>>v<^<<<>.>^<v>><. <<^.<>^..<<><vvvv>.vv>><>^.v.^v. ^v<.<^>^v<v<>><v.vv<^^.v>v<^^v.. ^^<<.v>.><.>>>v^<>v>^>^.v^..^.v^ <<v^^^><vvv..v>v.>^.<<<>>.^^.^.. <.<.vv.v>v.<<v><<<<>.^^v<>>.v^v< .v^..>^vv<>>^>><>>^>^v^v^..^^><^ <><v^^<^^>.<.^v.vv><v>v>^<^.v<vv <.^><.<^<>><.^.^<><.v^.v.<^<<^v. <>>^>v<v><.<...^^>^>v^v<.v^^>^<< ^>.<v><<^><^<>^.>v<.v>^>>>v>><>^ <>vv.v.^.^^...v<<v<.>v.>.v<^^^<^ v>..>^v.<>v<<<.v^<.<.^<>v^.v.^vv ^.^v>.<>^.v>^v<v><>v>^<v.^<v.^>< .>^>v^<.^>v<>>>vvv<>>^^<.v>.^<<. ^>><.>v<<^..^^<^.>.^..>^><<.>^<. >.<.><.vvv^>...>v^v<<^.^v^<.^<v^ <<.v>>.>^>v<v<vv><.>^>.<^>^>>^<> ..<v<v^<v^<v...>^>^>vvv^<..^<^<v v<<><<<><<.^^>><.>^v<v.^.<v..^^<
Output
722

Test 6 Test
Input
50 49 .^<.v^<>..<^v.^<^>..<vv^.<<v.^<vv>>>vvvv<^^v<^>vv >^v^>vv><^vv..><v<<^.v<<.^v>>>.v.v.>>.>>>^v.vv<>^ .^.<^>^v.^v^^.v<v^.<.<^v<.v.^.><^v<^>v..>v>v.<<<> ^^.vv^>>.>.<vvvvv>>.>>v>^.v^<^<.>v<>>.<^<>>..>^<. ^><v.v><>><^^<>v><v<<>^v^v.^<^v<>v<.>v^vvv^>.><.. >.<><.<v^.v.v^<>>.>.^.>^v<.<..>.>><v..v>>^>>^>.>. ^^.<<v<v<^^<v^.v^^^v^>>vvv<.^<>>..v><v^.^^v^v<><> ^.v<vv.<.<>^v.<.<<<>^><^>><^.><>v>.<^>^^<...v^><< <^.<><<<.<^v<v.vv<<vvv^v<^>.^^v><..vv><<<v>^>>>.v .>v<>v>vv.<^v>^><v^^<^v>.vv>.>><v^<<v>^>>...^.<.v <v><.<v<.v^v^>v^.v>v<..<v<><>>>.>>^^.><^vv>v<>>vv .><<v<vv^<v.>..<<v<v^<..v>v^<^<<.>v.<^<^<<.v^^.v^ .>^>v>>>..<v.>>>.>><vv.<>.^v.v<..<>vv^>^.^^>v^.<< ^^..<>^v>v<.vv^^^vv><>v^>>.^^>v.>v<<^^v>.^^.>>vv^ v<...^^.>.<vv>vvv<>>><..>.<^v>>>.>^v>.v<.<><^v>^> ..<.<^^v....<^^^^v<>v^>.<<v<.<><<>^<v<v<vv>><v^v^ ..>^v.>^><^>v>>vv<^>^.>^.^<v<^^v^.v<v^.<vv><<.^v. <.>>><<<v^.v^vvv>..v<<.^>.^^<<v<^..^..<>^v^<.^.<. <^..vv<><^v<.<vv<<vv.v<>v>.<.<><^^^><.^>.>..<..>> v^^^...>^>.<^^v>^v.vv^^.><v>>.^>>>^>>.<vv^<^^^v.< >>v^v<<<<><v>^^<^.vv.^>v^vv^<v<<v>.^>>..^..<^>v.. ^>^^<vv>.^^.v.<^><^>>>v<.^.^>>.v^.^.>v^.v<>>>.^.> ...v>.v<>^^<<<.><>^>^<v<v..<vv^^.<<>v<.<><>>.>>^> <^v<..<^<<>^..v.<<^^>v..<<^^<v..^^>.v><<v^>.v.<<> ^^>^.^><.v<>^<>^.<vv>.^>v>.<^<>v>^.v>v>.^^>v.v>^^ <.<>v^..><v^v<^^<.>><v^^.>vvv>^^v><<^.v.^^<vv<^<v ><<^<.<.>v^.<>.^>>.>^^>>.v>.vv<>^v>>^<..v.<v<v^<> v>v.vvv^<v.vv^><^.^^^>v^vv.>^.^v.^<>.<..^v^.<^>.> v^<v...^<^^<>>^<v^^<>v..<v^>.^<v<.v^<v.<>^<.^>>^^ ^><>.^^v<.<^>v^>.vv<.>^vv<<<^..v>v<^.^>><vv^v>.^^ >^<v<>.<v<><.<.^.v<>vvv.<<>><>vv^>v^><^<.^v>vvv>^ <v<...v.>v^.^>.v><^..<v^^><>..>..<v><.>>>^.v>.^<> >.<.<.<>><v<^.>^.^>.v<^.^><<.v<<v<^>^>.^>^.^vv>.. v<<.>^^<>vvvv>v.>.>.v>^..<.v>.>>><^.v..>>v^><vv>< ^<^.>^.v<v<.>^><^<v.v.><<>.v<<v.^>v<v>><<^v>vv<>v >.><>>^v.<><.v<^>>>v>^^^v.><<^^>...<<<<^>v>>>^<>> .>><><^.^^<<.v^<<vv.>^<.vv<>>.><.><^^v^.>>>>vv>.< v<^<.v.<>^..<>...<<>v><vv><.<^>.<v>>^<^.<v<v^<.>^ ^^v<<^<vv>.^<^>v^.^^><^<.v^<^..<..v<<^v..^>.vv><^ vv....^<.^.<><.v<><>^<<^vv>v<><>>.v<^^v<..^<^<<<^ ^v<^.^.><><vv<.>^>^<v^<>^.<<.>v.<vv><>v>v><.^<<.< ..<^^>v<.<<..^vv<.><<v>^v>^<...^^.<^.^<>.^<><^>.v ^v><<^.^>.<>v^^>.<v<.v.^v<<^<>^.>><^v^^v><v.v.^^. .<v<><<<^v<.<v..v^<^<<v<..>>v.<<v^^<v<^>>.^>vv..< ^.v>.v^v..^>v>vv>^<v.>>.<v^^>><^^v>v^.<<^><^v<^.^ .^.>.>>.<>>^>^v<<.v>>>v>v<..^v^>v<<v.<v>>>>^<..>v <<>.v^v>>>^>v^><^^v.^^v>^.>v<<<<.<<<.^.>^>.^.vv.< ^^^>^.v.^>^.v^^^>^.v>^>^>.<.>>.vv><<>v<v.>>>..>>v .^>^.>.<^.v^vv>..^>^.>^^><.><^^.v^^<...>>>^>^..^> >v<vvv<^^v^^v<<.>..>.>v>>>v^.<>><vv>><.v^v^..^<<.
Output
2215

Validator 6 Validator
Input
44 47 v>v^<v^v>.><v<^<^.^<v><v>^^<^v^<.v>v><..^>vv>>. >>><<^>^<.<..<v>v>.^<>^....<^<.>v<v<v>>v<v>.v^^ <^<<.<<<<<.<vv<^v><v<v.^^<v^.v.^.<v...>.^.>v<.v v.><v>^>.^<>.<<^<.>><v<^v><<>v<^v>>^.><.>><.^.v .^v^><<>><^>^>><v><<^^^^.^.^vvv<v<v<><>><v.<>>> ><^v^<^^^^^>v>^^^v><<^vv<^.<<v^^^v.><.^<>>..^<< >v<>..^>^v^vv<v>v^vvv..<^^^^v><>v<.><^>>.><v^v. .<vv..v^<.v>^v><^^^<<v<^>.>.>^v<<<>.^<>>>...<.^ .<.^^<.><.v^v<^><^v<v<.v<<.vv^.v^^<^>>..<><^v<v ^<^^^><><>.>^v.>><vv^.<<<^>.<^^^v.v^..v>v.<.v<. ...>.<<>^><<>.><.>>^vv.<v>^v>>.^^^.>^vv<v<<v<v> .....^.<>...^>^<<<vv.><.v^v><..v<>>^>vv^^v..<.^ <^<<v>>v...>>^<v<v..v>>.vvv^<^^v.>.><^^.<v><vv^ v>>.>>.^v<^^^>..^^^<^>>>>v<>...<>.v><v<.^>vv^<> v<v>>>>..<^>...v.>..<<.<v<^<<>^v..<<.>v<^<>^><^ >.vv>v^.v^<v><^<v<^<<^.vvv>>>v^v<^v<^v>>vvvv.>. .^>>>.^vvv<>>>^<^<>v.<<v^v>v>.><<<v.^.>.v^>.^>. >><<<<<vv^^<><<>>^.><<.<..^^.v^v^<v>^.^^v><.vv> >><.><.^>>^>^<v<v<.vv<<^v><>.vv<><.<v<<v^..>^^v .^<v>>v>^vv^v.<>v<.^v<^^v..><.<<<<.>.^vv.v<v^>v v>v>^^.<vv^^<>^>><<v.>>>^^v^>^.v<v^<<<.v>v.^v.> v..><..>>v>^^<<>^.><v^^^^<<>>.v<^><^v<<.>v<^<^^ <>^^.>.<>^^>v>vvv<.<>.v>vv^v<^^^.>v.<.v^v<.v.^< ..<v^<.vv..^^v^^^.<<^v<.v>v>^><v>^^v>^<<>>.^^^> >.^^.>><<<^<>>v^^.^v<^^v^>v^vvvvv>v...v^vv^>.<. <<....^<v>vv>.>..v>^>^^..^>^.vv.....v>>..<><>v< ^.<v.^v^<v<^.<..v>vv.v<v<.>v><^><<<vvvv<><>><^< ^.<<^>>.<v<^>.^^.vv.<^^^>v><<^<vv..v^<<<<vv><.^ v><.>v<^v^^>^v<>>.vv.v^v.vv^.^^.>>^^v<.^>^<.^>v <>>>.<v<<<>.<.v.^v<.>vv.><<<^<>>.>^v.>>^>v..vv^ <<>.>^<><v>^v^^.v.^^.>><.><^.><v^^<<<v^>vv.^<.v .^>^.^>v.^^.^..v<<v<^<vv.>.vv<<^<<>>v^>>>v.<>.< ><<>v^^..>v>>>..><v<>^.vvv<v>^v><.v>v.^^..^^v.v ..^.<<.<^v^><v^.<<>.v.>.<.>>.<^.<.^>^v^^>v<v<.. ^v><>..v>v.>v><<vv<^<<>.v^>>>vv<<<^..<<.>^^vv^< <<v..^^.^v>.<^><.vv>vv<^.^><<>>^^.^v^v>v.>^>... >^>^v<<.v.^>^v^<.v><.v^<.<.vv<<v>.>>^>..><^<>vv ^.^^..vv>v^^^.>^^^>.v..<>^.>.>>..^<.>^>><.^v<^v >vv>.v>v>.v><^<><v<^^.^<>>^<^.>vvv^<^<><v.<v^.. ><>>^v^vv.<.^<..>..vvvv<v^.v>>^v.>v.>^>v<v.<..< ..<<vv^<..<^.>.>v<.<..^^>vv><<<v><.>v>..v^^<.v. >vv>^v^^>.^v<vv>>v.<v>vvv<>v>^^.^^>v...^^.>v.^^ ^...>.<<<v.><v<v<<>v^>^^..^v..<vvv<^<^<^v<v^<<< ^>v><^<<v..v<<.^<<.<v>v<.^>^<<>.v>^^>.>^<>^>^><
Output
2064

Solution language

Solution

Stub generator input