def f(a):return list(a[0])+f(zip(*a[1:])[::-1]) if a else []
print(f([]))
print(f([[1]]))
print(f([[1, 2],[3, 4]]))
print(f([[1, 2],[3, 4],[5, 6]]))
print(f([[1, 2, 3, 4],[12, 13, 14, 5],[11, 16, 15, 6],[10, 9, 8, 7]]))
print(f([[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8],[1, 2, 3, 4, 12, 13, 14, 5, 7, 8]]))
ZGVmIGYoYSk6cmV0dXJuIGxpc3QoYVswXSkrZih6aXAoKmFbMTpdKVs6Oi0xXSkgaWYgYSBlbHNlIFtdCgpwcmludChmKFtdKSkKcHJpbnQoZihbWzFdXSkpCnByaW50KGYoW1sxLCAyXSxbMywgNF1dKSkKcHJpbnQoZihbWzEsIDJdLFszLCA0XSxbNSwgNl1dKSkKcHJpbnQoZihbWzEsIDIsIDMsIDRdLFsxMiwgMTMsIDE0LCA1XSxbMTEsIDE2LCAxNSwgNl0sWzEwLCA5LCA4LCA3XV0pKQpwcmludChmKFtbMSwgMiwgMywgNCwgMTIsIDEzLCAxNCwgNSwgNywgOF0sWzEsIDIsIDMsIDQsIDEyLCAxMywgMTQsIDUsIDcsIDhdLFsxLCAyLCAzLCA0LCAxMiwgMTMsIDE0LCA1LCA3LCA4XSxbMSwgMiwgMywgNCwgMTIsIDEzLCAxNCwgNSwgNywgOF0sWzEsIDIsIDMsIDQsIDEyLCAxMywgMTQsIDUsIDcsIDhdLFsxLCAyLCAzLCA0LCAxMiwgMTMsIDE0LCA1LCA3LCA4XSxbMSwgMiwgMywgNCwgMTIsIDEzLCAxNCwgNSwgNywgOF0sWzEsIDIsIDMsIDQsIDEyLCAxMywgMTQsIDUsIDcsIDhdLFsxLCAyLCAzLCA0LCAxMiwgMTMsIDE0LCA1LCA3LCA4XSxbMSwgMiwgMywgNCwgMTIsIDEzLCAxNCwgNSwgNywgOF1dKSk=
[]
[1]
[1, 2, 4, 3]
[1, 2, 4, 6, 5, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[1, 2, 3, 4, 12, 13, 14, 5, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 5, 14, 13, 12, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 12, 13, 14, 5, 7, 7, 7, 7, 7, 7, 7, 7, 5, 14, 13, 12, 4, 3, 2, 2, 2, 2, 2, 2, 2, 3, 4, 12, 13, 14, 5, 5, 5, 5, 5, 5, 14, 13, 12, 4, 3, 3, 3, 3, 3, 4, 12, 13, 14, 14, 14, 14, 13, 12, 4, 4, 4, 12, 13, 13, 12]