for i in [x[:4],x[4:8],x[8:12],x[12:]]:
pp=[g for g in i if g]
flag=True
while flag:
flag=False
for i in range(len(pp)-1, 0, -1):
if pp[i]==pp[i-1]:
pp[i]+=pp[i-1]
pp.pop(i-1)
flag=True
break
z+=[0]*(4-len(pp))+pp
for i in [x[:4],x[4:8],x[8:12],x[12:]]:
flag=True
pp=([0]*i.count(0))+[g for g in i if g]
print(pp)
while flag:
flag=False
xc=None
for num, k in enumerate(pp[::-1]):
if k:
if xc==k:
pp[-(num+1)]=0
pp[-num]=xc+k
xc=None
flag=True
elif xc==None:
xc=k
elif xc!=None:
xc=k
if flag:
pp=([0]*pp.count(0))+[g for g in pp if g]