zipn(List) ->
zipn([],List).
zipn(Acc,[]) ->
zipn([],[A|Rest]) ->
AccStart = [[V] || V<-A],
zipn(AccStart,Rest);
zipn(Acc,[A|Rest]) ->
NewAcc = zipn_helper(Acc,A),
zipn(NewAcc,Rest).
zipn_helper(Acc,A) ->
zipn_helper([],Acc,A).
zipn_helper(Acc,[],[]) ->
zipn_helper(Acc,[AccHd|AccRest],[VHd|VRest]) ->
NewAccHd = [VHd|AccHd],
NewAcc = [NewAccHd|Acc],
zipn_helper(NewAcc,AccRest,VRest).
emlwbihMaXN0KSAtPgogICAgICAgIHppcG4oW10sTGlzdCkuCgp6aXBuKEFjYyxbXSkgLT4KICAgICAgICBsaXN0czptYXAoZnVuIGxpc3RzOnJldmVyc2UvMSxBY2MpOwp6aXBuKFtdLFtBfFJlc3RdKSAtPgogICAgICAgIEFjY1N0YXJ0ID0gW1tWXSB8fCBWPC1BXSwKICAgICAgICB6aXBuKEFjY1N0YXJ0LFJlc3QpOwp6aXBuKEFjYyxbQXxSZXN0XSkgLT4KICAgICAgICBOZXdBY2MgPSB6aXBuX2hlbHBlcihBY2MsQSksCiAgICAgICAgemlwbihOZXdBY2MsUmVzdCkuCgp6aXBuX2hlbHBlcihBY2MsQSkgLT4KICAgICAgICB6aXBuX2hlbHBlcihbXSxBY2MsQSkuCgp6aXBuX2hlbHBlcihBY2MsW10sW10pIC0+CiAgICAgICAgbGlzdHM6cmV2ZXJzZShBY2MpOwp6aXBuX2hlbHBlcihBY2MsW0FjY0hkfEFjY1Jlc3RdLFtWSGR8VlJlc3RdKSAtPgogICAgICAgIE5ld0FjY0hkID0gW1ZIZHxBY2NIZF0sCiAgICAgICAgTmV3QWNjID0gW05ld0FjY0hkfEFjY10sCiAgICAgICAgemlwbl9oZWxwZXIoTmV3QWNjLEFjY1Jlc3QsVlJlc3QpLg==