06.ua
1 &fras ⊣ &args 2 3 ⊜∘≠@\n. 4 5 Init ← ¯1_0⊢⊚=@^ 6 Step ← ⨬(⟜+|⇌⍜⊢¯)=@#◡(⬚@.⊡+) 7 Valid ← /××∩>¯1.⊙△ 8 9 map.[] ⊸Init 10 &p⊸⧻ ⊙⋅◌⍢(⊃(insert⊙0:⊙◌|⋅Step)|⋅⋅Valid) 11 12 SkipForward ← ⍢(⟜+|×⊃(⋅Valid|≠@#⬚@.⊡+)) 13 CheckCycle ← ( 14 map.[] ⊸Init 15 ⍢(⊃(insert⊙0:⊙⊂|⇌⍜⊢¯SkipForward◌)|¬has□:⊙⊂) 16 Valid⋅◌ 17 ) 18 19 ▽=@.◡⊡⊙◌°map 20 &p /+≡wait≡pool(CheckCycle⍜⊡⋅@#)⊙¤