from functools import partial
def sorted_symmetric_difference(sorted_a, sorted_b, done=object()):
# O(n) time, O(1) space
sorted_a, sorted_b = iter(sorted_a), iter(sorted_b)
next_a, next_b = partial(next, sorted_a, done), partial(next, sorted_b, done)
a, b = next_a(), next_b()
while a is not done and b is not done:
if a == b: # skip
a = next_a()
b = next_b()
elif b < a:
yield b
b = next_b()
else:
yield a
a = next_a()
item, rest = (a, sorted_a) if b is done else (b, sorted_b)
if item is not done:
yield item
#### Python 3.3
####yield from rest
for item in rest:
yield item
import ast
a, b = [ast.literal_eval(input()) for _ in range(2)]
print(list(sorted_symmetric_difference(a, b)))
ZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwKCmRlZiBzb3J0ZWRfc3ltbWV0cmljX2RpZmZlcmVuY2Uoc29ydGVkX2EsIHNvcnRlZF9iLCBkb25lPW9iamVjdCgpKToKICAgICMgTyhuKSB0aW1lLCBPKDEpIHNwYWNlCiAgICBzb3J0ZWRfYSwgc29ydGVkX2IgPSBpdGVyKHNvcnRlZF9hKSwgaXRlcihzb3J0ZWRfYikKICAgIG5leHRfYSwgbmV4dF9iID0gcGFydGlhbChuZXh0LCBzb3J0ZWRfYSwgZG9uZSksIHBhcnRpYWwobmV4dCwgc29ydGVkX2IsIGRvbmUpCgogICAgYSwgYiA9IG5leHRfYSgpLCBuZXh0X2IoKQogICAgd2hpbGUgYSBpcyBub3QgZG9uZSBhbmQgYiBpcyBub3QgZG9uZToKICAgICAgICBpZiBhID09IGI6ICMgc2tpcAogICAgICAgICAgICBhID0gbmV4dF9hKCkKICAgICAgICAgICAgYiA9IG5leHRfYigpCiAgICAgICAgZWxpZiBiIDwgYToKICAgICAgICAgICAgeWllbGQgYgogICAgICAgICAgICBiID0gbmV4dF9iKCkKICAgICAgICBlbHNlOgogICAgICAgICAgICB5aWVsZCBhCiAgICAgICAgICAgIGEgPSBuZXh0X2EoKQoKICAgIGl0ZW0sIHJlc3QgPSAoYSwgc29ydGVkX2EpIGlmIGIgaXMgZG9uZSBlbHNlIChiLCBzb3J0ZWRfYikKICAgIGlmIGl0ZW0gaXMgbm90IGRvbmU6CiAgICAgICAgeWllbGQgaXRlbQogICAgICAgICMjIyMgUHl0aG9uIDMuMwogICAgICAgICMjIyN5aWVsZCBmcm9tIHJlc3QKICAgICAgICBmb3IgaXRlbSBpbiByZXN0OgogICAgICAgICAgICB5aWVsZCBpdGVtCgoKaW1wb3J0IGFzdAoKYSwgYiA9IFthc3QubGl0ZXJhbF9ldmFsKGlucHV0KCkpIGZvciBfIGluIHJhbmdlKDIpXQpwcmludChsaXN0KHNvcnRlZF9zeW1tZXRyaWNfZGlmZmVyZW5jZShhLCBiKSkpCg==