24.ua
1 &fras ⊣ &args 2 3 °$"_\n\n_" 4 ⊜(⊓□⋕°$"_: _")⊸≠@\n 5 ⊙⊙(⊜(°⊂↻¯1□₄°$"_ _ _ -> _")⊸≠@\n) 6 :∩map 7 8 Next ← ⍜°map(∩▽,⊙:)⟜(/×⍉≡has⊙¤⍜⍉[⊃⊢⊣]◌°map) 9 Calc ← ⍜°map⊙(≡(⨬(/↧|/↥|/≠)⊗⊙{"AND" "OR" "XOR"}⊙get°⊂↻1)|¤) 10 11 A ← ( 12 ◌⍢(⊙(⊂⊸Calc)remove⊙◌°map⟜:◡Next|≠0⧻) 13 °⋯⊏⍏∩▽⟜:=@z⊸≡◇⊢°map 14 ) 15 16 B ← ( 17 :⊙⍜⍉⊏₁⊃°map¤ 18 ◡≡◇⍣( 19 1 °0≍°□⊣⍆▽=@z⊸≡◇⊢⊙◌°map: °@z⊸⊢ °0≍"XOR" 20 | 1 °1/↥=□"OR"⊏1⍉get▽/↥⍉:⊸(°map=□) °"XOR" 21 | 1 °1/↥≠□"OR"⊏1⍉get▽/↥⍉:⊸(°map=□) °0/↥=□"x00" ◡get °"AND" 22 | 1 °1/↥=□"XOR"⊏1⍉⬚{..∞}get⊏0_2⊸get °1≠@z⊸⊢ °"XOR" 23 | 0) 24 /$"_,_"⍆▽⊙⋅⊙◌ 25 ) 26 27 ∩&p ⊃B A