15.ua
1 &fras ⊣ &args 2 3 °$"_\n\n_" 4 ⊜∘⊸≠@\n 5 ⊏⊗⊙("v>^<"⊂⟜¯⋯1_2) ▽⊸∊"<>^v": 6 7 Next ← ( 8 :↯⊙(+◡⋅⊙⋅⋅∘)⊸∊"@O[]" ⊡◡⊙⋅⋅⋅∘ ⊙⊙⍜⊡⋅1⟜: 9 ⊂⨬(⊂+0_1|⊂-0_1|◌)⊗⊙("[]":) 10 ) 11 Targets ← ⊚⋅⊙⋅◌⍢(⨬(Next|◌)⊡◡⊙⋅∘°⊂|≠0⧻) ¤⊙(∵⋅0,): 12 Move ← ( 13 °0/↥=@#⊡◡⋅⊙∘ ⟜⊸Targets 14 ⍜⊡◌+¤⊙(⟜⍜⊡≡(@.∘) ▽≠@.◡⊡) 15 ) 16 Solve ← /+♭פ100_1⊚∊"O[" ◌∧⍣(⊃+Move|◌) ⊙(⊢⊚⊸=@@) 17 Expand ← ⍜⍉♭₂⨬(".."|"##"|"@."|"[]")∵(⊗⊙".#@O") 18 19 ∩Solve ,Expand,