open System
let ``vvesti massiv 4 * 4`` () =
System.Console.WriteLine "Vvedite massiv 4 ha 4"
List.init 4 (fun _ -> List.init 4 (fun _ -> System.Console.ReadLine () |> int))
let massiv1 = ``vvesti massiv 4 * 4`` ()
let massiv2 = ``vvesti massiv 4 * 4`` ()
let zipWith op l1 l2 = List.zip l1 l2 |> List.map (fun (x, y) -> op x y)
let massiv3 = List.zip massiv1 massiv2 |> List.map (fun (x, y) -> zipWith ( * ) x y)
let diagonal' = List.mapi (fun i e -> List.nth e i) massiv3
let ``Hane4atat' massiv`` massiv =
List.
iter (fun e
-> List.
iter (fun x
-> printf "%d " x
) e
; System.
Console.
WriteLine ()) massiv
System.Console.WriteLine ()
let ``Hane4aTat' odnoMerhii massiv`` massiv =
List.iter (printf "%d ") massiv
System.Console.WriteLine ()
``Hane4atat' massiv`` massiv3
``Hane4aTat' odnoMerhii massiv`` diagonal'
b3BlbiBTeXN0ZW0KCmxldCBgYHZ2ZXN0aSBtYXNzaXYgNCAqIDRgYCAoKSA9CiAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUgIlZ2ZWRpdGUgbWFzc2l2IDQgaGEgNCIKICAgIExpc3QuaW5pdCA0IChmdW4gXyAtPiBMaXN0LmluaXQgNCAoZnVuIF8gLT4gU3lzdGVtLkNvbnNvbGUuUmVhZExpbmUgKCkgfD4gaW50KSkKICAgICAgICAgICAgICAgIApsZXQgbWFzc2l2MSA9IGBgdnZlc3RpIG1hc3NpdiA0ICogNGBgICgpCmxldCBtYXNzaXYyID0gYGB2dmVzdGkgbWFzc2l2IDQgKiA0YGAgKCkKCmxldCB6aXBXaXRoIG9wIGwxIGwyID0gTGlzdC56aXAgbDEgbDIgfD4gTGlzdC5tYXAgKGZ1biAoeCwgeSkgLT4gb3AgeCB5KQogICAgCmxldCBtYXNzaXYzID0gTGlzdC56aXAgbWFzc2l2MSBtYXNzaXYyIHw+IExpc3QubWFwIChmdW4gKHgsIHkpIC0+IHppcFdpdGggKCAqICkgeCB5KQoKbGV0IGRpYWdvbmFsJyA9IExpc3QubWFwaSAoZnVuIGkgZSAtPiBMaXN0Lm50aCBlIGkpIG1hc3NpdjMKCmxldCBgYEhhbmU0YXRhdCcgbWFzc2l2YGAgbWFzc2l2ID0KICAgIExpc3QuaXRlciAoZnVuIGUgLT4gTGlzdC5pdGVyIChmdW4geCAtPiBwcmludGYgIiVkICIgeCkgZTsgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lICgpKSBtYXNzaXYKICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSAoKQogICAgCmxldCBgYEhhbmU0YVRhdCcgb2Rub01lcmhpaSBtYXNzaXZgYCBtYXNzaXYgPQogICAgTGlzdC5pdGVyIChwcmludGYgIiVkICIpIG1hc3NpdgogICAgU3lzdGVtLkNvbnNvbGUuV3JpdGVMaW5lICgpCiAgICAKYGBIYW5lNGF0YXQnIG1hc3NpdmBgIG1hc3NpdjMKYGBIYW5lNGFUYXQnIG9kbm9NZXJoaWkgbWFzc2l2YGAgZGlhZ29uYWwn