print_
sub({`large Pascal triangle':
  let(rows,15):
  print_<1> \n:
  print_apply(unf,let(pvec,<0+1,1+1,0+1>)) \n:
  [rows]-2:do:
    let(qvec,<+1.0>):
    for(<i,1,len([pvec])-1,1>,{
      let(qvec,
        stack([qvec],(elem([pvec],[i])) (~largeadd~) (elem([pvec],[i]+1)))
      )}):
    let(qvec,stack([qvec],+1.0)):
    print_apply(unf,[qvec]) \n:
    let(pvec,[qvec]):
  loop
}):

include(`../prg/factorial.txt'):

func(pascal,{
  iff(let(n,[x])=0,{<1>},{sub({
  iff([n]%2=0,{block({print_():
    let(p,smooth(<for(<i,0,[n]/2-1,1>,{binom([n],[i]),})>)):
    let(q,stack([p],binom([n],[n]/2)))})
  },{block({print_():
    let(p,smooth(<for(<i,0,[n]/2,1>,{binom([n],[i]),})>)):
    let(q,[p])
  })}):
  let(r,smooth(<for(<i,len([p]),0,-1>,{elem([p],[i]),})>)):
  print_stack([q],[r])
})})}):

include(`../prg/largenum.txt'):

print_
for(<i,0,15,1>,{
  apply(unf,apply(largen,pascal([i]))) \n
}):

print_apply(unf,apply(largen,pascal(10)))