new a in new b in new c in new d in new e in new z in
  request z(k). if 2=2 then k!(2).catch k(k1).O else k!(1).catch k(k1).O |
  request a(k).request b(k1).throw k1(k).O | 
  accept b(k1).catch k1(k).rec X.rec Y.k|>{l2:Y||l1:X}|
  accept a(k).accept c(k1).throw k1(k).O |
  request c(k1).accept d(k2).catch k1(k).k<|l2.throw k2(k).O |
  request d(k1).accept e(k2).catch k1(k).k<|l2.throw k2(k).O |
  request e(k1).catch k1(k).rec X.rec Y.if 2=21 then k<|l1.X else k<|l2.Y 
  )