add([],[],[]).
add([],Y, Z) :- append([], Y, Z).
add(X,[], Z) :- append(X,[],Z).
add([HX|TX],[HY|TY], Z) :-
HX = 1,
HY = 1,
add(TX,TY, Z1),
add([1],Z1, Z2),
append([0],Z2,Z),!.
add([HX|TX],[HY|TY], Z) :-
HX = 0,
HY = 1,
add(TX,TY,Z1),
append([1],Z1, Z),!.
add([HX|TX],[HY|TY], Z) :-
HX = 1,
HY = 0,
add(TX,TY,Z1),
append([1],Z1, Z),!.
add([HX|TX],[HY|TY], Z) :-
HX = 0,
HY = 0,
add(TX,TY,Z1),
append([0],Z1, Z),!.
YWRkKFtdLFtdLFtdKS4KYWRkKFtdLFksIFopIDotIGFwcGVuZChbXSwgWSwgWikuCmFkZChYLFtdLCBaKSA6LSBhcHBlbmQoWCxbXSxaKS4KCmFkZChbSFh8VFhdLFtIWXxUWV0sIFopIDotCiAgICBIWCA9IDEsCiAgICBIWSA9IDEsCiAgICBhZGQoVFgsVFksIFoxKSwKICAgIGFkZChbMV0sWjEsIFoyKSwKICAgIGFwcGVuZChbMF0sWjIsWiksIS4KCmFkZChbSFh8VFhdLFtIWXxUWV0sIFopIDotCiAgICBIWCA9IDAsCiAgICBIWSA9IDEsCiAgICBhZGQoVFgsVFksWjEpLAogICAgYXBwZW5kKFsxXSxaMSwgWiksIS4KCmFkZChbSFh8VFhdLFtIWXxUWV0sIFopIDotCiAgICBIWCA9IDEsCiAgICBIWSA9IDAsCiAgICBhZGQoVFgsVFksWjEpLAogICAgYXBwZW5kKFsxXSxaMSwgWiksIS4KCgphZGQoW0hYfFRYXSxbSFl8VFldLCBaKSA6LQogICAgSFggPSAwLAogICAgSFkgPSAwLAogICAgYWRkKFRYLFRZLFoxKSwKICAgIGFwcGVuZChbMF0sWjEsIFopLCEu