let f lst =
let rec loop x0 x1 xs acc = match xs with
[] -> (x0 + x1)::acc
| first::rest -> loop x1 first rest ((x0 + x1)::acc) in
let last lst =
let pascal n =
let rec loop n acc = match n with
| 1 -> acc
| _ -> loop (n - 1) (acc @ [(1::((f (last acc)) @ [1]))]) in
loop n [[1]; [1; 1]]
bGV0IGYgbHN0ID0KICBsZXQgcmVjIGxvb3AgeDAgeDEgeHMgYWNjID0gbWF0Y2ggeHMgd2l0aAogICAgICBbXSAtPiAoeDAgKyB4MSk6OmFjYwogICAgfCBmaXJzdDo6cmVzdCAtPiBsb29wIHgxIGZpcnN0IHJlc3QgKCh4MCArIHgxKTo6YWNjKSBpbgogIGxvb3AgKExpc3QuaGQgbHN0KSAoTGlzdC5udGggbHN0IDEpIChMaXN0LnRsIChMaXN0LnRsIGxzdCkpIFtdCgpsZXQgbGFzdCBsc3QgPSAKICBMaXN0LmhkIChMaXN0LnJldiBsc3QpCgpsZXQgcGFzY2FsIG4gPQogIGxldCByZWMgbG9vcCBuIGFjYyA9IG1hdGNoIG4gd2l0aAogICAgICAwIC0+IFtMaXN0LmhkIGFjY10KICAgIHwgMSAtPiBhY2MKICAgIHwgXyAtPiBsb29wIChuIC0gMSkgKGFjYyBAIFsoMTo6KChmIChsYXN0IGFjYykpIEAgWzFdKSldKSBpbgogIGxvb3AgbiBbWzFdOyBbMTsgMV1d