let butlast lst =
let last lst =
let pascal n =
List.fold_left
(fun x y
-> match y
with 0 -> x
| 1 -> x @ [[y; y]]
| _ -> let lst = last x in
x @
[1::((List.map2
(+) (butlast lst
) (List.tl lst
)) @
[1])]) [[1]] (0::(List.init n
(fun x
-> x
+ 1)))
bGV0IGJ1dGxhc3QgbHN0ID0KICAoTGlzdC5yZXYgKExpc3QudGwgKExpc3QucmV2IGxzdCkpKQoKbGV0IGxhc3QgbHN0ID0KICBMaXN0LmhkIChMaXN0LnJldiBsc3QpCgpsZXQgcGFzY2FsIG4gPQogIExpc3QuZm9sZF9sZWZ0IChmdW4geCB5IC0+IG1hdGNoIHkgd2l0aAogICAgICAgIDAgLT4geAogICAgICB8IDEgLT4geCBAIFtbeTsgeV1dCiAgICAgIHwgXyAtPiBsZXQgbHN0ID0gbGFzdCB4IGluCiAgICAgICAgeCBAIFsxOjooKExpc3QubWFwMiAoKykgKGJ1dGxhc3QgbHN0KSAoTGlzdC50bCBsc3QpKSBAIFsxXSldKQogICAgW1sxXV0gKDA6OihMaXN0LmluaXQgbiAoZnVuIHggLT4geCArIDEpKSk=