Street parade, wrong answer, can anyone explain?

while True:
  a=int(input())
  if a==0:
    break
  else:
    x=list(map(int,input().split()))
    p,temp,z,y=0,1,[],[]
    while len(x)!=0:
      if len(z)==0:
        if x[p]==temp:
          y.append(x[p])
          x.remove(temp)
          temp=temp+1
        else:
          z.append(x[p])
          x.remove(x[p])
      else:
        if x[p]==temp:
          y.append(x[p])
          x.remove(x[p])
          temp=temp+1
        else:
          if z[-1]==temp:
            y.append(z[-1])
            z.remove(z[-1])
            temp=temp+1
          else:
            z.append(x[p])
            x.remove(x[p])
    com=[g for g in range(1,a+1)]
    if y==com:
      print("yes")
    else:
      if y+z[::-1]==com:
        print("yes")
      else:
        print("no")