def checkerA12inE8(l,basis,orderList):
    print("Checking if conjugate to any of the complete ones:")
    print(checker(l,basis,orderList))

    #These are two two cases where we do not know lambda5: cases 28 and 29
    l28=[(4,), (4,), (0,), (0,)]
    l29=[(5,), (5,)]
    L28=[]
    L28=L28+concat([(0,)],wedge2(l28))
    L28=L28+[(2,0)]
    
    L29=[]
    L29=L29+concat([(0,)],wedge2(l29))
    L29=L29+[(2,0)]

    basisTemp=[[(0)]]
    basisTemp.append(l)
    print("Conjugate to case 28?")
    print(classifyIncomplete(L28,basisTemp,orderList2))
    if len(classifyIncomplete(L28,basisTemp,orderList2))>1:
        print("YES")
    print("Conjugate to case 29?")
    print(classifyIncomplete(L29,basisTemp,orderList2))
    if len(classifyIncomplete(L29,basisTemp,orderList2))>1:
        print("YES")

test.append(expand("[(2,4)^2/(4,0)/(0,4)/(2,0)^3/(0,2)]"))

test.append(expand("[ (0,6)/(2,4)/(0,4)/(1,3)^2/(2,0)^2/(0,2)]"))

test.append(expand("[(4,2)/(2,4)/(0,2)^2/(3,1)/(1,3)]"))

test.append(expand("[(2,2)^2/(2,1)^2/(2,0)^3/(4,0)/(0,2)/(0,1)^2/(0,0)]"))

test.append(expand("[(0,10)/(4,6)/(2,0)/(0,2)]"))

for i in range(1,len(test)):
            print(dimChecker(test[i]))
            test[i] = test[i]+[(0,0),(0,0),(0,0)]
            print(classifyIncomplete(test[i], basisA12,orderList2))




test=[(0)]
test.append(expand("[(0,10)/(1,9)/(0,6)/(1,3)/(2,0)/(0,2)/(0,0)^3/(0,8)^3/(0,4)^3/(1,5)^3]"))


test.append(expand("[(0,6)/(1,5)/(0,4)/(1,3)^2/(2,0)/(0,2)^3/(0,4)^6/(0,2)^3/(0,0)^3/(1,3)^3/(1,1)^3]"))


test.append(expand("[(0,6)/(1,4)^2/(1,3)/(0,3)^2/(2,0)/(0,2)/(0,0)^3/(0,0)^6/(0,4)^3/(0,3)^6/(1,3)^3/(1,0)^6]"))


test.append(expand("[(1,4)^2/(0,4)^3/(2,0)/(0,2)/(1,0)^4/(0,0)^3/(0,0)^3/(0,4)^3/(0,2)^9/(1,2)^6]"))
d[3]=expand("[(1,1,0,0,0,0)/(0,0,1,1,0,0)/(0,0,0,0,1,1)/(1,0,1,0,0,0)]")
d[4]=expand("[(1,1,0,0,0,0)/(0,0,1,1,0,0)/(0,0,0,0,1,1)/(0,0,0,0,0,1)^2]")
d[5]=expand("[(1,1,0,0,0,0)/(0,0,1,1,0,0)/(0,0,0,1,1,0)/(0,0,0,0,0,1)^2]")
d[6]=expand("[(1,1,0,0,0,0)/(0,0,1,1,0,0)/(0,0,0,0,1,0)^2/(0,0,0,0,0,1)^2]")
d[7]=expand("[(1,0,0,0,0,0)^2/(0,1,1,0,0,0)/(0,0,0,1,1,0)/(0,0,0,0,0,2)/(0,0,0,0,0,0)]")
d[8]=expand("[(1,1,0,0,0,0)/(0,1,1,0,0,0)/(0,0,0,1,1,0)/(0,0,0,0,0,2)/(0,0,0,0,0,0)]")
d[9]=expand("[(1,0,0,0,0,1)/(0,1,1,0,0,0)/(0,0,0,1,1,0)/(0,0,0,0,0,2)/(0,0,0,0,0,0)]")


for i in range(1,10):
        sol[i]= wedge2(d[i])


for i in range(1,1):
        print(i)
        print(classifyIncomplete(sol[i],basisA16,orderList))
        


print("LEN:"+str(len(basis2)))

#//////////////////////////////////////////////////////////////////////////////////////////////////////////
#//////////////////////////////////////////////////////////////////////////////////////////////////////////
#A15 //////////////////////////////////////////////////////////////////////////////////////////////////////
#//////////////////////////////////////////////////////////////////////////////////////////////////////////
#//////////////////////////////////////////////////////////////////////////////////////////////////////////


#In A1E7

#e[4]=expand("[()/()/()/()/()/()/()/()]")




#print(len(sol[i]))


#print(latex(d[1]))
#sol[1]=sol[1]+e[1]
#print(dimChecker(e[2]))
j=0
for i in range(1,10):
        #sol[i]=sol[i]+e[i]
        print(i)
        print(classifyIncomplete(sol[i],basisA16,orderList))
        #print(str(i)+"&"+latex(d[i])+"&"+latex(sol[i])+"&"+str(j))
        #print("\\\\ \hline")
        #print(checker(sol[i],basis2,orderList))
        

   
e[1]=expand("[(0,0,0,0,0,0)^3/(2,0,0,0,0,0)^2/(0,2,0,0,0,0)/(0,0,2,0,0,0)/(0,0,0,2,0,0)/(0,0,0,0,2,0)/(0,0,0,0,0,2)/(2,1,0,0,0,0)^2/(0,1,0,0,0,0)^2/(1,0,1,1,0,0)^2/(1,0,0,0,1,1)^2/(1,0,1,0,0,1)^2/(1,0,0,1,1,0)^2/(0,1,1,0,1,0)^2/(0,1,0,1,0,1)^2/(1,1,1,1,0,0)/(1,1,0,0,1,1)/(0,0,1,1,1,1)/(2,0,1,0,0,1)/(0,0,1,0,0,1)/(2,0,0,1,1,0)/(0,0,0,1,1,0)/(1,1,1,0,1,0)/(1,1,0,1,0,1)]")


e[2]=expand("[(2,0,0,0,0,0)/(0,2,0,0,0,0)/(0,0,2,0,0,0)/(0,0,0,2,0,0)/(0,0,0,0,2,0)/(0,0,0,0,0,2)/(1,1,0,0,0,0)^4/(0,0,1,1,0,0)^4/(0,0,0,0,1,1)^4/(1,0,1,0,0,1)^2/(1,0,0,1,1,0)^2/(0,1,1,0,1,0)^2/(0,1,0,1,0,1)^2/(1,1,1,1,0,0)/(1,1,0,0,1,1)/(0,0,1,1,1,1)/(1,0,1,0,0,1)^2/(1,0,0,1,1,0)^2/(0,1,1,0,1,0)^2/(0,1,0,1,0,1)^2/(0,0,0,0,0,0)^6]")      

for i in range(1,1):        
    print(i)
    print(checker(e[i],basisA16,orderList))
                
basisA13.append(expand("[(0,6,0)/(1,4,1)/(0,4,0)/(1,3,0)^2/(0,3,1)^2/(2,0,0)/(0,2,0)/(0,0,2)/ (1,0,1)/(0,0,0)]"))

                
basisA13.append(expand("[(1,1,1)^4/(2,2,0)/(2,0,2)/(0,2,2)/(0,2,0)^2/(0,0,2)^2/(2,0,0)^2/(0,0,0)]"))

basisA13.append(expand("[(2,2,2)^2/(4,0,0)/(0,4,0)/(0,0,4)/(2,0,0)/(0,2,0)/(0,0,2)]"))


for i in range(1,len(basisA13)):
    print(dimChecker(basisA13[i]))

order3=order(3)
for i in range(1,len(lam)):
    x=wedge2(lam[i])
    n=classifyIncomplete(x,basisA13,order3)
    p=str(i) + " &  " +latex(lam[i])+" & "+ latex(x)+ " & "+str(n[1])+"\\\\ \\hline"
    print(p)
    


print("//////////////////////////////")
print("A12")
print("/////////////////////////////")

lam2 = [0]
lam2.append([(1, 1), (1, 1), (0, 0), (0, 0)])
lam2.append([(1, 1), (1, 0), (1, 0), (0, 0), (0, 0)])
lam2.append([(1, 1), (2, 0), (2, 0)])
lam2.append([(1, 1), (2, 0), (0, 2)])
lam2.append([(1, 1), (2, 0), (0, 0), (0, 0), (0, 0)])