import ; lcsBack(a(1), b(1)) := let aSub := allButLast(a); bSub := allButLast(b); x := lcsBack(a, bSub); y := lcsBack(aSub, b); in [] when size(a) = 0 or size(b) = 0 else lcsBack(aSub, bSub) ++ [last(a)] when last(a) = last(b) else x when size(x) > size(y) else y; main(args(2)) := lcsBack(args[1], args[2]) when size(args) >=2 else lcsBack("thisisatest", "testing123testing");