Shared2017-11-15-202842.sagewsOpen in CoCalc
Kleber's problem
#Notation :
#a, b : Partitions
#m, n : dimensions of the rectangle
#t    : list of partitions
import sage.libs.lrcalc.lrcalc as lrcalc
import numpy

def co(a,m,n):    #GIVES COMPLEMENT OF PARTITION 'a'
    c=a.length()
    d=[]
    e=a.to_list()
    for i in range(m-c):
        e.append(0)
    for i in e:
        d.append(n-i)
    d.reverse()
    return Partition(d)  

def add(a,b):       #RETURNS ADDITION OF TWO PARTITIONS 'a' and 'b'
    a1=a.to_list()
    b1=b.to_list()
    al=a.length()
    bl=b.length()
    c=max(al,bl)
    if al!=bl:
        if c==al:
            for i in range(al-bl):
                b1.append(0)
        else:
            for i in range(bl-al):
                a1.append(0)
    return Partition([a1[i]+b1[i] for i in range(c)])

#def sort(a,b):      #SORTS A PARTITION
#	c=a.to_list()+b.to_list()
#	c.sort()
#	c.reverse()
#	return Partition(c)

s = SymmetricFunctions(QQ).s()
def supp(a,m,n):
    return sorted((s(Partition(a))*s(co(Partition(a),m,n))).support())

def mix(a,m,n):      #RETURNS SORTED UNION OF PARTIION 'a' AND IT'S COMPLEMENT
	return add(a.conjugate(),co(a,m,n).conjugate()).conjugate()

def li(m,n):       #RETURNS THE LIST OF ALL PARTITIONS IN RECTANGLE m*n
    d=[]
    for j in range(m*n/2-1):
        for i in Partitions(j+1,max_part=n,max_length=m):
            d.append(i)
    for i in Partitions(int(m*n/2),max_part=n,max_length=m):
        if co(i,m,n) not in d:
                d.append(i)
    return d

def sdif(a,b,m,n):      #RETURNS THE PARTITIONS THAT ARE IN SUPPORT OF 'a' BUT NOT IN SUPPORT OF 'b'
    d=[]
    a=Partition(a)
    b=Partition(b)
    for i in lrcalc.mult(a,co(a,m,n)):
        if lrcalc.lrcoef(i,b,co(b,m,n))==0:
            d.append(i)
    return sorted(d)

def rem(t,a,m,n):       #RETURNS THE PARTITIONS IN 't' THAT ARE NOT IN THE SUPPORT OF 'a'
    a=Partition(a)
    for i in t:
        if lrcalc.lrcoef(Partition(i),a,co(a,m,n))>0:
            t.remove(i)
    return sorted(t)

def giv(m,n,z):           #RETURNS ALL THE EQUIVALENCE CLASSES OF PARTITIONS IN RECTANGLE m*n
    d=[]
    a=li(m,n)
    for i in a:
        c=set()
        for j in a:
            if add(i,co(i,m,n))==add(j,co(j,m,n)) and mix(i,m,n)==mix(j,m,n):
                a.remove(j)
                c.add(j)
        if len(c)>z:        #IF YOU WANT TO SEE ONLY EQUIVALENCE CLASSES OF SIZE > k, THEN REPLACE 0 BY k IN THIS LINE
            d.append(c)
    return d

def new(m,n):
    for i in li(m,n):
        if len(i)==m and i[0]==n:
            print i
        elif len(i)<m and i[0]<m:
            print co(i,m,n)

def ppp(a,b):
    for st in lrskew(a,b):
        st.pp()

giv(3,5,1)
[set([[3, 2], [3, 3]]), set([[4, 2], [4, 3]]), set([[3, 3, 1], [3, 2, 1]])]

sdif([3, 2], [3, 3],3,5)
[[5, 3, 3, 3, 1], [5, 4, 2, 2, 2], [5, 4, 3, 3], [5, 4, 4, 2], [5, 5, 2, 2, 1], [5, 5, 3, 1, 1], [6, 3, 3, 3], [6, 5, 2, 1, 1], [6, 6, 2, 1], [6, 6, 3], [7, 3, 3, 1, 1], [7, 4, 4], [7, 6, 2], [8, 3, 3, 1], [8, 4, 3]]
sdif([3, 2, 1], [3, 3, 1],3,5)
[[4, 3, 3, 3, 1, 1], [4, 4, 2, 2, 2, 1], [4, 4, 4, 3], [5, 5, 2, 1, 1, 1], [6, 3, 3, 1, 1, 1], [6, 6, 2, 1], [6, 6, 3], [7, 3, 3, 1, 1], [7, 4, 4]]
supp([3,2,1],3,5)
[[4, 3, 3, 2, 2, 1], [4, 3, 3, 3, 1, 1], [4, 3, 3, 3, 2], [4, 4, 2, 2, 2, 1], [4, 4, 3, 2, 1, 1], [4, 4, 3, 2, 2], [4, 4, 3, 3, 1], [4, 4, 4, 1, 1, 1], [4, 4, 4, 2, 1], [4, 4, 4, 3], [5, 3, 2, 2, 2, 1], [5, 3, 3, 2, 1, 1], [5, 3, 3, 2, 2], [5, 3, 3, 3, 1], [5, 4, 2, 2, 1, 1], [5, 4, 2, 2, 2], [5, 4, 3, 1, 1, 1], [5, 4, 3, 2, 1], [5, 4, 3, 3], [5, 4, 4, 1, 1], [5, 4, 4, 2], [5, 5, 2, 1, 1, 1], [5, 5, 2, 2, 1], [5, 5, 3, 1, 1], [5, 5, 3, 2], [5, 5, 4, 1], [5, 5, 5], [6, 3, 2, 2, 1, 1], [6, 3, 2, 2, 2], [6, 3, 3, 1, 1, 1], [6, 3, 3, 2, 1], [6, 3, 3, 3], [6, 4, 2, 1, 1, 1], [6, 4, 2, 2, 1], [6, 4, 3, 1, 1], [6, 4, 3, 2], [6, 4, 4, 1], [6, 5, 2, 1, 1], [6, 5, 2, 2], [6, 5, 3, 1], [6, 5, 4], [6, 6, 2, 1], [6, 6, 3], [7, 3, 2, 2, 1], [7, 3, 3, 1, 1], [7, 3, 3, 2], [7, 4, 2, 1, 1], [7, 4, 2, 2], [7, 4, 3, 1], [7, 4, 4], [7, 5, 2, 1], [7, 5, 3]]
sdif([4, 2], [4, 3],3,5)
[[5, 4, 3, 3], [5, 5, 2, 2, 1], [6, 3, 3, 3], [6, 6, 1, 1, 1], [7, 7, 1], [9, 3, 3]]
supp([4,2],3,5)
[[5, 4, 3, 2, 1], [5, 4, 3, 3], [5, 4, 4, 1, 1], [5, 4, 4, 2], [5, 5, 2, 2, 1], [5, 5, 3, 1, 1], [5, 5, 3, 2], [5, 5, 4, 1], [5, 5, 5], [6, 3, 3, 2, 1], [6, 3, 3, 3], [6, 4, 2, 2, 1], [6, 4, 3, 1, 1], [6, 4, 3, 2], [6, 4, 4, 1], [6, 5, 2, 1, 1], [6, 5, 2, 2], [6, 5, 3, 1], [6, 5, 4], [6, 6, 1, 1, 1], [6, 6, 2, 1], [6, 6, 3], [7, 3, 2, 2, 1], [7, 3, 3, 1, 1], [7, 3, 3, 2], [7, 4, 2, 1, 1], [7, 4, 2, 2], [7, 4, 3, 1], [7, 4, 4], [7, 5, 1, 1, 1], [7, 5, 2, 1], [7, 5, 3], [7, 6, 1, 1], [7, 6, 2], [7, 7, 1], [8, 3, 2, 1, 1], [8, 3, 2, 2], [8, 3, 3, 1], [8, 4, 1, 1, 1], [8, 4, 2, 1], [8, 4, 3], [8, 5, 1, 1], [8, 5, 2], [8, 6, 1], [9, 3, 2, 1], [9, 3, 3], [9, 4, 1, 1], [9, 4, 2], [9, 5, 1]]
giv(3,3,1)
[set([[2, 1], [2, 2]])]
sdif([2, 1], [2, 2],3,3)
[[3, 2, 2, 2], [3, 3, 1, 1, 1], [4, 4, 1], [5, 2, 2]]
giv(3,4,1)
[]
giv(3,5,1)
[set([[3, 2], [3, 3]]), set([[4, 2], [4, 3]]), set([[3, 3, 1], [3, 2, 1]])]
sdif([3, 2], [3, 3],3,5)
[[5, 3, 3, 3, 1], [5, 4, 2, 2, 2], [5, 4, 3, 3], [5, 4, 4, 2], [5, 5, 2, 2, 1], [5, 5, 3, 1, 1], [6, 3, 3, 3], [6, 5, 2, 1, 1], [6, 6, 2, 1], [6, 6, 3], [7, 3, 3, 1, 1], [7, 4, 4], [7, 6, 2], [8, 3, 3, 1], [8, 4, 3]]
sdif([4,2],[4,3],3,5)
[[5, 4, 3, 3], [5, 5, 2, 2, 1], [6, 3, 3, 3], [6, 6, 1, 1, 1], [7, 7, 1], [9, 3, 3]]
sdif([3,2,1],[3,3,1],3,5)
[[4, 3, 3, 3, 1, 1], [4, 4, 2, 2, 2, 1], [4, 4, 4, 3], [5, 5, 2, 1, 1, 1], [6, 3, 3, 1, 1, 1], [6, 6, 2, 1], [6, 6, 3], [7, 3, 3, 1, 1], [7, 4, 4]]
t=sdif([4,2],[4,3],3,5)
for j in t:
    print j, lrcalc.lrcoef(j,[4,2],[5,3,1])
[5, 4, 3, 3] 1 [5, 5, 2, 2, 1] 1 [6, 3, 3, 3] 1 [6, 6, 1, 1, 1] 1 [7, 7, 1] 1 [9, 3, 3] 1
for i in giv(3,7,1):
    t=sorted(list(i))
    print t
    sdif(t[0],t[1],3,7)
    print "\n"
[[5, 2], [5, 5]] [[7, 5, 5, 3, 1], [7, 5, 5, 4], [7, 6, 4, 2, 2], [7, 6, 4, 3, 1], [7, 6, 4, 4], [7, 6, 5, 3], [7, 6, 6, 2], [7, 7, 3, 2, 2], [7, 7, 3, 3, 1], [7, 7, 4, 2, 1], [7, 7, 4, 3], [7, 7, 5, 1, 1], [8, 5, 4, 3, 1], [8, 5, 4, 4], [8, 5, 5, 3], [8, 6, 3, 2, 2], [8, 6, 3, 3, 1], [8, 6, 4, 3], [8, 7, 2, 2, 2], [8, 7, 3, 2, 1], [8, 7, 3, 3], [8, 7, 4, 1, 1], [8, 8, 2, 2, 1], [8, 8, 3, 1, 1], [8, 8, 3, 2], [8, 8, 4, 1], [8, 8, 5], [9, 5, 3, 3, 1], [9, 5, 4, 3], [9, 5, 5, 1, 1], [9, 6, 2, 2, 2], [9, 6, 3, 3], [9, 6, 6], [9, 7, 2, 2, 1], [9, 7, 3, 1, 1], [9, 8, 2, 1, 1], [9, 8, 2, 2], [9, 8, 3, 1], [9, 8, 4], [9, 9, 2, 1], [9, 9, 3], [10, 5, 3, 3], [10, 5, 4, 1, 1], [10, 5, 5, 1], [10, 6, 5], [10, 7, 2, 1, 1], [10, 8, 2, 1], [10, 8, 3], [10, 9, 2], [11, 5, 3, 1, 1], [11, 5, 4, 1], [11, 5, 5], [11, 6, 4], [11, 8, 2], [12, 5, 3, 1], [12, 5, 4], [12, 6, 3]] [[4, 3], [4, 4]] [[7, 4, 4, 4, 2], [7, 5, 3, 3, 3], [7, 5, 4, 4, 1], [7, 5, 5, 3, 1], [7, 6, 3, 3, 2], [7, 6, 4, 2, 2], [7, 6, 4, 4], [7, 6, 5, 3], [7, 6, 6, 2], [7, 7, 3, 3, 1], [7, 7, 4, 2, 1], [7, 7, 5, 1, 1], [8, 4, 4, 4, 1], [8, 5, 4, 4], [8, 5, 5, 3], [8, 6, 3, 2, 2], [8, 7, 3, 2, 1], [8, 7, 4, 1, 1], [8, 8, 3, 2], [8, 8, 4, 1], [8, 8, 5], [9, 4, 4, 2, 2], [9, 4, 4, 4], [9, 5, 5, 1, 1], [9, 6, 6], [9, 7, 3, 1, 1], [9, 8, 3, 1], [9, 8, 4], [10, 4, 4, 2, 1], [10, 5, 4, 1, 1], [10, 5, 5, 1], [10, 6, 5], [10, 8, 3], [11, 4, 4, 2], [11, 5, 4, 1], [11, 6, 4]] [[5, 2, 1], [6, 2, 2]] [[6, 5, 5, 3, 1, 1], [6, 5, 5, 4, 1], [6, 6, 4, 2, 2, 1], [6, 6, 4, 3, 1, 1], [6, 6, 4, 3, 2], [6, 6, 4, 4, 1], [6, 6, 5, 4], [6, 6, 6, 3], [7, 5, 4, 3, 1, 1], [7, 5, 4, 4, 1], [7, 5, 5, 4], [7, 6, 3, 2, 2, 1], [7, 6, 3, 3, 1, 1], [7, 6, 3, 3, 2], [7, 6, 4, 4], [7, 7, 3, 2, 1, 1], [7, 7, 3, 2, 2], [7, 7, 3, 3, 1], [7, 7, 4, 1, 1, 1], [8, 5, 3, 3, 1, 1], [8, 5, 4, 4], [8, 5, 5, 1, 1, 1], [8, 6, 2, 2, 2, 1], [8, 7, 2, 2, 1, 1], [8, 7, 2, 2, 2], [8, 7, 3, 1, 1, 1], [8, 8, 2, 2, 1], [8, 8, 3, 1, 1], [8, 8, 3, 2], [8, 8, 4, 1], [8, 8, 5], [9, 5, 4, 1, 1, 1], [9, 5, 5, 1, 1], [9, 6, 6], [9, 7, 2, 1, 1, 1], [9, 8, 2, 1, 1], [9, 8, 2, 2], [9, 8, 3, 1], [9, 8, 4], [10, 5, 3, 1, 1, 1], [10, 5, 4, 1, 1], [10, 5, 5, 1], [10, 6, 5], [10, 8, 2, 1], [10, 8, 3], [11, 5, 3, 1, 1], [11, 5, 4, 1], [11, 6, 4]] [[6, 3], [6, 4]] [[7, 6, 4, 4], [7, 7, 3, 3, 1], [8, 5, 4, 4], [8, 8, 2, 2, 1], [9, 4, 4, 4], [9, 9, 1, 1, 1], [10, 10, 1], [13, 4, 4]] [[5, 3], [5, 4]] [[7, 5, 4, 4, 1], [7, 5, 5, 4], [7, 6, 3, 3, 2], [7, 6, 4, 4], [7, 7, 3, 2, 2], [7, 7, 3, 3, 1], [8, 4, 4, 4, 1], [8, 5, 4, 4], [8, 7, 2, 2, 2], [8, 8, 2, 2, 1], [8, 8, 3, 1, 1], [9, 4, 4, 4], [9, 8, 2, 1, 1], [9, 9, 2, 1], [9, 9, 3], [10, 9, 2], [11, 4, 4, 1, 1], [11, 5, 5], [12, 4, 4, 1], [12, 5, 4]] [[4, 3, 1], [4, 4, 1]] [[6, 4, 4, 4, 2, 1], [6, 5, 3, 3, 3, 1], [6, 5, 4, 4, 1, 1], [6, 5, 5, 3, 1, 1], [6, 5, 5, 4, 1], [6, 6, 3, 3, 2, 1], [6, 6, 3, 3, 3], [6, 6, 4, 2, 2, 1], [6, 6, 5, 4], [6, 6, 6, 3], [7, 4, 4, 4, 1, 1], [7, 5, 5, 4], [7, 6, 3, 2, 2, 1], [7, 7, 3, 2, 1, 1], [7, 7, 3, 2, 2], [7, 7, 4, 1, 1, 1], [8, 4, 4, 2, 2, 1], [8, 5, 5, 1, 1, 1], [8, 7, 3, 1, 1, 1], [8, 8, 3, 1, 1], [8, 8, 3, 2], [8, 8, 4, 1], [8, 8, 5], [9, 4, 4, 2, 1, 1], [9, 4, 4, 2, 2], [9, 5, 4, 1, 1, 1], [9, 5, 5, 1, 1], [9, 6, 6], [9, 8, 3, 1], [9, 8, 4], [10, 4, 4, 2, 1], [10, 5, 4, 1, 1], [10, 5, 5, 1], [10, 6, 5]]
for i in giv(5,7,2):
    t=sorted(list(i))
    print t
    a=sdif(t[0],t[1],5,7)
    a=rem(a,t[2],5,7)
    a=rem(a,t[3],5,7)
    a
    print "\n"
[[6, 5, 2, 1], [6, 5, 5, 1], [6, 6, 2, 2], [7, 5, 2, 1, 1]] [[7, 6, 6, 5, 5, 4, 1, 1], [7, 6, 6, 5, 5, 4, 2], [7, 6, 6, 6, 4, 2, 2, 2], [7, 6, 6, 6, 4, 3, 2, 1], [7, 6, 6, 6, 4, 3, 3], [7, 6, 6, 6, 4, 4, 2], [7, 6, 6, 6, 6, 4], [7, 7, 5, 5, 5, 3, 1, 1, 1], [7, 7, 5, 5, 5, 3, 3], [7, 7, 5, 5, 5, 4, 1, 1], [7, 7, 5, 5, 5, 4, 2], [7, 7, 6, 5, 4, 4, 1, 1], [7, 7, 6, 5, 4, 4, 2], [7, 7, 6, 6, 3, 2, 2, 1, 1], [7, 7, 6, 6, 3, 2, 2, 2], [7, 7, 6, 6, 3, 3, 2, 1], [7, 7, 6, 6, 3, 3, 3], [7, 7, 6, 6, 5, 4], [7, 7, 7, 4, 4, 2, 2, 2], [7, 7, 7, 4, 4, 3, 1, 1, 1], [7, 7, 7, 4, 4, 3, 3], [7, 7, 7, 4, 4, 4, 1, 1], [7, 7, 7, 4, 4, 4, 2], [7, 7, 7, 5, 3, 2, 2, 1, 1], [7, 7, 7, 5, 3, 2, 2, 2], [7, 7, 7, 5, 3, 3, 1, 1, 1], [7, 7, 7, 5, 3, 3, 2, 1], [7, 7, 7, 5, 3, 3, 3], [7, 7, 7, 5, 5, 4], [7, 7, 7, 6, 3, 2, 2, 1], [7, 7, 7, 6, 3, 3, 2], [7, 7, 7, 7, 3, 1, 1, 1, 1], [7, 7, 7, 7, 3, 2, 2], [8, 6, 5, 5, 5, 3, 1, 1, 1], [8, 6, 5, 5, 5, 4, 2], [8, 6, 6, 5, 4, 4, 1, 1], [8, 6, 6, 5, 4, 4, 2], [8, 6, 6, 6, 3, 2, 2, 1, 1], [8, 6, 6, 6, 3, 2, 2, 2], [8, 6, 6, 6, 3, 3, 2, 1], [8, 6, 6, 6, 3, 3, 3], [8, 6, 6, 6, 5, 4], [8, 7, 5, 5, 4, 4, 1, 1], [8, 7, 5, 5, 4, 4, 2], [8, 7, 6, 4, 4, 3, 1, 1, 1], [8, 7, 6, 4, 4, 4, 2], [8, 7, 6, 5, 4, 4, 1], [8, 7, 6, 6, 2, 2, 2, 1, 1], [8, 7, 6, 6, 2, 2, 2, 2], [8, 7, 7, 4, 3, 2, 2, 2], [8, 7, 7, 4, 3, 3, 1, 1, 1], [8, 7, 7, 4, 3, 3, 3], [8, 7, 7, 5, 2, 2, 2, 1, 1], [8, 7, 7, 5, 2, 2, 2, 2], [8, 7, 7, 6, 2, 2, 1, 1, 1], [8, 7, 7, 7, 2, 1, 1, 1, 1], [8, 7, 7, 7, 2, 2, 2], [8, 8, 5, 4, 4, 3, 1, 1, 1], [8, 8, 5, 4, 4, 3, 3], [8, 8, 5, 4, 4, 4, 1, 1], [8, 8, 5, 4, 4, 4, 2], [8, 8, 5, 5, 4, 4, 1], [8, 8, 5, 5, 5, 4], [8, 8, 6, 4, 4, 4, 1], [8, 8, 6, 5, 2, 2, 2, 2], [8, 8, 6, 6, 2, 2, 1, 1, 1], [8, 8, 7, 3, 3, 2, 2, 2], [8, 8, 7, 3, 3, 3, 1, 1, 1], [8, 8, 7, 3, 3, 3, 3], [8, 8, 7, 4, 2, 2, 2, 1, 1], [8, 8, 7, 4, 2, 2, 2, 2], [8, 8, 7, 5, 2, 2, 1, 1, 1], [8, 8, 7, 6, 2, 1, 1, 1, 1], [8, 8, 7, 6, 2, 2, 2], [8, 8, 7, 7, 2, 2, 1], [8, 8, 8, 3, 3, 2, 2, 1], [8, 8, 8, 3, 3, 3, 2], [8, 8, 8, 4, 2, 2, 1, 1, 1], [8, 8, 8, 4, 2, 2, 2, 1], [8, 8, 8, 5, 2, 1, 1, 1, 1], [8, 8, 8, 5, 2, 2, 2], [8, 8, 8, 6, 2, 2, 1], [8, 8, 8, 7, 2, 2], [8, 8, 8, 8, 2, 1], [8, 8, 8, 8, 3], [9, 6, 5, 5, 4, 4, 1, 1], [9, 6, 5, 5, 4, 4, 2], [9, 6, 6, 4, 4, 2, 2, 1, 1], [9, 6, 6, 4, 4, 2, 2, 2], [9, 6, 6, 4, 4, 3, 2, 1], [9, 6, 6, 4, 4, 3, 3], [9, 6, 6, 4, 4, 4, 2], [9, 6, 6, 5, 4, 4, 1], [9, 6, 6, 6, 2, 2, 2, 1, 1], [9, 6, 6, 6, 2, 2, 2, 2], [9, 7, 5, 4, 4, 3, 1, 1, 1], [9, 7, 5, 4, 4, 4, 2], [9, 7, 5, 5, 4, 4, 1], [9, 7, 6, 4, 3, 3, 1, 1, 1], [9, 7, 6, 5, 4, 4], [9, 7, 7, 3, 3, 2, 2, 1, 1], [9, 7, 7, 3, 3, 2, 2, 2], [9, 7, 7, 3, 3, 3, 1, 1, 1], [9, 7, 7, 3, 3, 3, 2, 1], [9, 7, 7, 3, 3, 3, 3], [9, 7, 7, 4, 2, 2, 2, 2], [9, 7, 7, 7, 1, 1, 1, 1, 1], [9, 8, 5, 4, 4, 4, 1], [9, 8, 6, 3, 3, 3, 1, 1, 1], [9, 8, 7, 3, 2, 2, 2, 2], [9, 8, 7, 7, 1, 1, 1, 1], [9, 8, 8, 3, 2, 2, 2, 1], [9, 8, 8, 4, 2, 1, 1, 1, 1], [9, 8, 8, 5, 1, 1, 1, 1, 1], [9, 8, 8, 7, 1, 1, 1], [9, 8, 8, 8, 1, 1], [9, 8, 8, 8, 2], [9, 9, 5, 3, 3, 3, 1, 1, 1], [9, 9, 5, 3, 3, 3, 3], [9, 9, 5, 4, 4, 4], [9, 9, 7, 2, 2, 2, 2, 2], [9, 9, 7, 6, 1, 1, 1, 1], [9, 9, 8, 2, 2, 2, 2, 1], [9, 9, 8, 4, 1, 1, 1, 1, 1], [9, 9, 8, 6, 1, 1, 1], [9, 9, 8, 7, 2], [9, 9, 9, 2, 2, 2, 2], [9, 9, 9, 3, 2, 2, 1], [9, 9, 9, 3, 3, 2], [9, 9, 9, 4, 1, 1, 1, 1], [9, 9, 9, 4, 2, 2], [9, 9, 9, 4, 4], [9, 9, 9, 5, 1, 1, 1], [9, 9, 9, 5, 3], [9, 9, 9, 6, 1, 1], [9, 9, 9, 6, 2], [10, 6, 5, 5, 4, 4, 1], [10, 6, 5, 5, 5, 4], [10, 6, 6, 4, 3, 2, 2, 2], [10, 6, 6, 4, 3, 3, 2, 1], [10, 6, 6, 4, 3, 3, 3], [10, 6, 6, 4, 4, 2, 2, 1], [10, 6, 6, 4, 4, 3, 2], [10, 6, 6, 5, 4, 4], [10, 7, 5, 4, 4, 4, 1], [10, 7, 6, 3, 3, 2, 2, 1, 1], [10, 7, 6, 3, 3, 2, 2, 2], [10, 7, 6, 3, 3, 3, 2, 1], [10, 7, 6, 3, 3, 3, 3], [10, 7, 7, 3, 2, 2, 2, 1, 1], [10, 7, 7, 3, 2, 2, 2, 2], [10, 7, 7, 3, 3, 2, 2, 1], [10, 7, 7, 3, 3, 3, 2], [10, 8, 5, 4, 4, 4], [10, 8, 7, 2, 2, 2, 2, 1, 1], [10, 8, 7, 2, 2, 2, 2, 2], [10, 8, 8, 2, 2, 2, 1, 1, 1], [10, 8, 8, 2, 2, 2, 2, 1], [10, 8, 8, 4, 1, 1, 1, 1, 1], [10, 8, 8, 8, 1], [10, 9, 8, 3, 1, 1, 1, 1, 1], [10, 9, 9, 2, 2, 2, 1], [10, 9, 9, 3, 2, 1, 1], [10, 9, 9, 3, 3, 1], [10, 9, 9, 4, 2, 1], [10, 9, 9, 5, 1, 1], [10, 9, 9, 6, 1], [10, 10, 5, 5, 5], [10, 10, 8, 6, 1], [10, 10, 9, 2, 2, 1, 1], [10, 10, 9, 3, 1, 1, 1], [10, 10, 9, 3, 3], [10, 10, 9, 4, 2], [10, 10, 9, 5, 1], [11, 6, 5, 5, 4, 4], [11, 6, 6, 4, 2, 2, 2, 1, 1], [11, 6, 6, 4, 2, 2, 2, 2], [11, 6, 6, 4, 3, 2, 2, 1], [11, 6, 6, 4, 3, 3, 2], [11, 6, 6, 4, 4, 2, 1, 1], [11, 6, 6, 4, 4, 3, 1], [11, 6, 6, 4, 4, 4], [11, 6, 6, 6, 6], [11, 7, 5, 4, 4, 4], [11, 7, 6, 3, 2, 2, 2, 2], [11, 7, 6, 3, 3, 2, 2, 1], [11, 7, 6, 3, 3, 3, 2], [11, 7, 7, 3, 2, 2, 2, 1], [11, 7, 7, 3, 3, 2, 1, 1], [11, 7, 7, 3, 3, 3, 1], [11, 8, 6, 2, 2, 2, 2, 2], [11, 8, 7, 2, 2, 2, 2, 1], [11, 8, 8, 2, 2, 1, 1, 1, 1], [11, 8, 8, 2, 2, 2, 2], [11, 8, 8, 3, 1, 1, 1, 1, 1], [11, 9, 8, 2, 1, 1, 1, 1, 1], [11, 9, 9, 2, 1, 1, 1, 1], [11, 9, 9, 2, 2, 2], [11, 9, 9, 3, 2, 1], [11, 9, 9, 4, 1, 1], [11, 9, 9, 5, 1], [11, 10, 5, 5, 1, 1, 1, 1], [11, 10, 9, 2, 1, 1, 1], [11, 10, 9, 3, 1, 1], [11, 10, 9, 4, 1], [11, 11, 5, 3, 1, 1, 1, 1, 1], [11, 11, 5, 4, 4], [11, 11, 6, 6, 1], [11, 11, 9, 2, 2], [12, 6, 5, 5, 4, 1, 1, 1], [12, 6, 5, 5, 5, 2], [12, 6, 6, 4, 2, 2, 2, 1], [12, 6, 6, 4, 3, 2, 1, 1], [12, 6, 6, 4, 3, 3, 1], [12, 6, 6, 4, 4, 2, 1], [12, 6, 6, 4, 4, 3], [12, 6, 6, 6, 5], [12, 7, 5, 4, 4, 1, 1, 1], [12, 7, 6, 3, 2, 2, 1, 1, 1], [12, 7, 6, 3, 3, 1, 1, 1, 1], [12, 7, 6, 3, 3, 2, 2], [12, 7, 6, 5, 5], [12, 7, 7, 3, 2, 2, 1, 1], [12, 7, 7, 3, 3, 1, 1, 1], [12, 7, 7, 3, 3, 3], [12, 8, 5, 3, 3, 1, 1, 1, 1], [12, 8, 5, 5, 5], [12, 8, 6, 2, 2, 2, 2, 1], [12, 8, 7, 2, 2, 2, 1, 1], [12, 8, 7, 3, 1, 1, 1, 1, 1], [12, 8, 8, 2, 2, 2, 1], [12, 9, 5, 4, 1, 1, 1, 1, 1], [12, 9, 7, 2, 1, 1, 1, 1, 1], [12, 9, 9, 2, 1, 1, 1], [12, 9, 9, 2, 2, 1], [12, 9, 9, 3, 1, 1], [12, 9, 9, 3, 2], [12, 9, 9, 4, 1], [12, 10, 5, 4, 1, 1, 1, 1], [12, 10, 6, 6, 1], [12, 10, 9, 2, 1, 1], [12, 10, 9, 2, 2], [12, 10, 9, 3, 1], [12, 11, 5, 4, 1, 1, 1], [12, 11, 5, 5, 2], [12, 12, 5, 3, 1, 1, 1], [12, 12, 5, 3, 3], [12, 12, 5, 4, 1, 1], [12, 12, 5, 4, 2], [12, 12, 6, 4, 1], [13, 6, 5, 5, 4, 1, 1], [13, 6, 5, 5, 4, 2], [13, 6, 6, 4, 2, 2, 2], [13, 6, 6, 4, 3, 2, 1], [13, 6, 6, 4, 3, 3], [13, 6, 6, 4, 4, 2], [13, 6, 6, 6, 4], [13, 7, 5, 4, 4, 1, 1], [13, 7, 5, 4, 4, 2], [13, 7, 6, 3, 2, 2, 1, 1], [13, 7, 6, 3, 2, 2, 2], [13, 7, 6, 3, 3, 2, 1], [13, 7, 6, 3, 3, 3], [13, 7, 6, 5, 4], [13, 7, 7, 3, 2, 2, 1], [13, 7, 7, 3, 3, 2], [13, 7, 7, 4, 4], [13, 8, 5, 4, 4, 1], [13, 8, 5, 5, 4], [13, 8, 6, 2, 2, 2, 2], [13, 8, 7, 2, 2, 1, 1, 1], [13, 8, 7, 3, 1, 1, 1, 1], [13, 8, 8, 2, 2, 2], [13, 8, 8, 3, 2, 1], [13, 8, 8, 4, 1, 1], [13, 8, 8, 5, 1], [13, 9, 5, 4, 4], [13, 9, 6, 6, 1], [13, 9, 8, 2, 1, 1, 1], [13, 9, 8, 3, 1, 1], [13, 9, 8, 4, 1], [13, 10, 5, 4, 1, 1, 1], [13, 10, 5, 5, 2], [13, 10, 8, 2, 1, 1], [13, 10, 8, 2, 2], [13, 11, 5, 3, 1, 1, 1], [13, 11, 5, 4, 2]] [[6, 4, 3, 2], [6, 4, 4, 2], [6, 5, 3, 3], [7, 4, 3, 2, 1]] [[7, 6, 5, 5, 3, 3, 3, 2, 1], [7, 6, 5, 5, 3, 3, 3, 3], [7, 6, 5, 5, 5, 5, 1, 1], [7, 6, 6, 6, 5, 5], [7, 7, 4, 4, 4, 4, 2, 2, 1], [7, 7, 4, 4, 4, 4, 4, 1], [7, 7, 6, 3, 3, 3, 3, 2, 1], [7, 7, 6, 3, 3, 3, 3, 3], [7, 7, 6, 6, 2, 2, 2, 2, 1], [7, 7, 7, 3, 3, 3, 3, 1, 1], [7, 7, 7, 7, 2, 2, 1, 1, 1], [8, 5, 5, 4, 4, 4, 2, 2, 1], [8, 5, 5, 5, 3, 3, 3, 3], [8, 5, 5, 5, 5, 5, 1, 1], [8, 6, 5, 4, 4, 4, 4], [8, 7, 7, 7, 2, 1, 1, 1, 1], [8, 8, 7, 7, 1, 1, 1, 1, 1], [8, 8, 8, 3, 2, 2, 2, 2], [8, 8, 8, 8, 1, 1, 1], [8, 8, 8, 8, 3], [9, 5, 5, 4, 4, 4, 4], [9, 8, 8, 8, 1, 1], [9, 9, 4, 4, 2, 2, 2, 2, 1], [9, 9, 8, 4, 1, 1, 1, 1, 1], [9, 9, 8, 8, 1], [9, 9, 9, 4, 1, 1, 1, 1], [10, 5, 5, 3, 3, 3, 3, 3], [10, 8, 8, 8, 1], [10, 9, 4, 4, 2, 2, 2, 2], [10, 10, 4, 4, 2, 2, 1, 1, 1], [10, 10, 5, 5, 1, 1, 1, 1, 1], [10, 10, 9, 3, 3], [10, 10, 9, 4, 2], [11, 5, 5, 3, 3, 3, 2, 2, 1], [11, 5, 5, 3, 3, 3, 3, 2], [11, 6, 6, 3, 2, 2, 2, 2, 1], [11, 7, 4, 4, 2, 2, 2, 2, 1], [11, 8, 4, 4, 2, 2, 2, 2], [11, 9, 4, 4, 2, 2, 2, 1], [11, 10, 4, 4, 2, 2, 1, 1], [11, 10, 5, 5, 1, 1, 1, 1], [11, 11, 4, 4, 2, 2, 1], [11, 11, 4, 4, 4, 1], [11, 11, 5, 4, 4], [11, 11, 5, 5, 1, 1, 1], [11, 11, 6, 6, 1], [12, 5, 4, 4, 4, 2, 2, 2], [12, 5, 5, 3, 3, 3, 2, 2], [12, 5, 5, 5, 4, 1, 1, 1, 1], [12, 6, 6, 3, 2, 2, 2, 1, 1], [12, 6, 6, 6, 5], [12, 7, 4, 4, 2, 2, 2, 2], [12, 7, 7, 4, 1, 1, 1, 1, 1], [12, 8, 4, 4, 2, 2, 2, 1], [12, 9, 4, 4, 2, 2, 1, 1], [12, 9, 5, 5, 1, 1, 1, 1], [12, 10, 5, 4, 4], [12, 10, 6, 6, 1], [13, 5, 5, 3, 3, 3, 2, 1], [13, 5, 5, 3, 3, 3, 3], [13, 5, 5, 5, 5, 1, 1], [13, 6, 6, 5, 5], [13, 7, 4, 4, 2, 2, 2, 1], [13, 7, 7, 4, 1, 1, 1, 1], [13, 8, 4, 4, 2, 2, 2], [13, 8, 8, 3, 2, 1], [13, 8, 8, 3, 3], [13, 8, 8, 4, 2], [13, 9, 4, 4, 2, 2, 1], [13, 9, 5, 4, 4], [13, 9, 6, 6, 1]] [[5, 4, 3, 2], [5, 4, 4, 2], [5, 5, 3, 3], [5, 5, 4, 3]] [[7, 5, 5, 4, 4, 4, 4, 2], [7, 5, 5, 5, 3, 3, 3, 3, 1], [7, 5, 5, 5, 5, 4, 4], [7, 5, 5, 5, 5, 5, 1, 1, 1], [7, 5, 5, 5, 5, 5, 3], [7, 6, 4, 4, 4, 4, 2, 2, 2], [7, 6, 4, 4, 4, 4, 4, 1, 1], [7, 6, 4, 4, 4, 4, 4, 2], [7, 6, 5, 5, 4, 4, 4], [7, 6, 6, 3, 3, 3, 3, 3, 1], [7, 6, 6, 6, 2, 2, 2, 2, 2], [7, 6, 6, 6, 5, 5], [7, 6, 6, 6, 6, 4], [7, 7, 4, 4, 4, 4, 4, 1], [7, 7, 5, 3, 3, 3, 3, 2, 2], [7, 7, 5, 3, 3, 3, 3, 3, 1], [7, 7, 5, 4, 4, 4, 4], [7, 7, 6, 3, 3, 3, 3, 2, 1], [7, 7, 6, 3, 3, 3, 3, 3], [7, 7, 7, 3, 3, 3, 2, 2, 1], [7, 7, 7, 3, 3, 3, 3, 2], [7, 7, 7, 4, 2, 2, 2, 2, 2], [7, 7, 7, 7, 2, 2, 1, 1, 1], [7, 7, 7, 7, 3, 1, 1, 1, 1], [8, 5, 4, 4, 4, 4, 4, 2], [8, 5, 5, 5, 4, 4, 4], [8, 6, 5, 4, 4, 4, 4], [8, 7, 4, 4, 4, 4, 4], [8, 7, 7, 7, 2, 1, 1, 1, 1], [8, 8, 6, 3, 2, 2, 2, 2, 2], [8, 8, 8, 3, 2, 2, 2, 1, 1], [8, 8, 8, 3, 2, 2, 2, 2], [8, 8, 8, 4, 2, 2, 1, 1, 1], [8, 8, 8, 5, 2, 1, 1, 1, 1], [8, 8, 8, 8, 2, 1], [8, 8, 8, 8, 3], [9, 5, 5, 3, 3, 3, 3, 3, 1], [9, 6, 4, 4, 4, 4, 4], [9, 8, 4, 4, 2, 2, 2, 2, 2], [9, 8, 8, 3, 3, 1, 1, 1, 1], [9, 8, 8, 8, 2], [9, 9, 4, 4, 2, 2, 2, 2, 1], [9, 9, 7, 3, 2, 2, 1, 1, 1], [9, 9, 7, 3, 3, 1, 1, 1, 1], [9, 9, 7, 4, 2, 1, 1, 1, 1], [9, 9, 8, 3, 3, 1, 1, 1], [9, 9, 9, 3, 2, 2, 1], [9, 9, 9, 3, 3, 1, 1], [9, 9, 9, 4, 2, 1, 1], [9, 9, 9, 4, 3, 1], [9, 9, 9, 4, 4], [9, 9, 9, 5, 3], [9, 9, 9, 6, 2], [10, 5, 4, 4, 4, 4, 4], [10, 5, 5, 3, 3, 3, 3, 2, 1], [10, 5, 5, 3, 3, 3, 3, 3], [10, 5, 5, 5, 5, 5], [10, 7, 4, 4, 2, 2, 2, 2, 2], [10, 9, 4, 4, 2, 2, 2, 1, 1], [10, 9, 4, 4, 4, 1, 1, 1, 1], [10, 9, 5, 5, 2, 1, 1, 1, 1], [10, 9, 9, 3, 3, 1], [10, 9, 9, 4, 3], [10, 10, 4, 4, 2, 2, 2, 1], [10, 10, 4, 4, 4, 1, 1, 1], [10, 10, 5, 5, 2, 1, 1, 1], [10, 10, 5, 5, 5], [10, 10, 8, 3, 2, 2], [10, 10, 8, 3, 3, 1], [10, 10, 8, 4, 2, 1], [10, 10, 8, 4, 3], [10, 10, 8, 5, 2], [11, 5, 5, 3, 3, 3, 2, 2, 1], [11, 5, 5, 3, 3, 3, 3, 1, 1], [11, 5, 5, 5, 5, 1, 1, 1, 1], [11, 6, 6, 6, 6], [11, 7, 7, 3, 2, 2, 1, 1, 1], [11, 7, 7, 3, 3, 1, 1, 1, 1], [11, 8, 4, 4, 2, 2, 2, 1, 1], [11, 8, 5, 5, 2, 1, 1, 1, 1], [11, 9, 5, 5, 2, 1, 1, 1], [11, 10, 4, 4, 2, 2, 2], [11, 10, 4, 4, 4, 1, 1], [11, 10, 4, 4, 4, 2], [11, 10, 5, 4, 4, 1], [11, 10, 5, 5, 2, 1, 1], [11, 10, 5, 5, 4], [11, 10, 6, 4, 4], [11, 10, 6, 6, 2], [12, 5, 4, 4, 4, 4, 2], [12, 5, 5, 3, 3, 3, 3, 1], [12, 5, 5, 5, 4, 4], [12, 5, 5, 5, 5, 1, 1, 1], [12, 5, 5, 5, 5, 3], [12, 6, 5, 4, 4, 4], [12, 6, 6, 6, 5], [12, 7, 4, 4, 4, 4], [12, 7, 7, 3, 3, 1, 1, 1], [12, 8, 4, 4, 2, 2, 2, 1], [12, 8, 5, 5, 5], [12, 8, 8, 3, 3, 1], [12, 8, 8, 4, 3], [12, 9, 4, 4, 2, 2, 2], [12, 9, 4, 4, 4, 2], [12, 9, 6, 4, 4]] [[6, 5, 3, 1], [6, 5, 4, 1], [6, 6, 3, 2], [7, 5, 3, 1, 1]] [[7, 6, 6, 5, 5, 5, 1], [7, 6, 6, 6, 3, 3, 2, 2], [7, 6, 6, 6, 5, 5], [7, 7, 5, 5, 4, 4, 1, 1, 1], [7, 7, 5, 5, 4, 4, 3], [7, 7, 5, 5, 5, 5, 1], [7, 7, 6, 5, 5, 5], [7, 7, 7, 4, 3, 3, 2, 2], [7, 7, 7, 6, 2, 2, 2, 2], [7, 7, 7, 7, 2, 2, 1, 1, 1], [8, 6, 5, 5, 4, 4, 1, 1, 1], [8, 6, 6, 4, 4, 4, 1, 1, 1], [8, 7, 5, 4, 4, 4, 1, 1, 1], [8, 7, 7, 3, 3, 3, 2, 2], [8, 8, 4, 4, 4, 4, 1, 1, 1], [8, 8, 4, 4, 4, 4, 3], [8, 8, 7, 7, 1, 1, 1, 1, 1], [8, 8, 8, 3, 2, 2, 2, 2], [8, 8, 8, 7, 1, 1, 1, 1], [8, 8, 8, 8, 1, 1, 1], [9, 6, 5, 5, 5, 5], [9, 8, 8, 2, 2, 2, 2, 1, 1], [9, 8, 8, 2, 2, 2, 2, 2], [9, 9, 8, 8, 1], [9, 9, 9, 3, 1, 1, 1, 1, 1], [10, 6, 6, 3, 3, 3, 2, 1, 1], [10, 6, 6, 3, 3, 3, 2, 2], [10, 10, 10, 2, 1, 1, 1], [10, 10, 10, 3, 1, 1], [10, 10, 10, 4, 1], [11, 6, 6, 3, 3, 2, 2, 2], [11, 6, 6, 3, 3, 3, 2, 1], [11, 7, 7, 2, 2, 2, 2, 1, 1], [11, 7, 7, 2, 2, 2, 2, 2], [11, 10, 10, 2, 2], [11, 11, 4, 4, 1, 1, 1, 1, 1], [12, 6, 6, 3, 3, 2, 1, 1, 1], [12, 6, 6, 3, 3, 3, 1, 1], [12, 7, 4, 4, 4, 1, 1, 1, 1], [12, 7, 7, 2, 2, 2, 2, 1], [12, 10, 4, 4, 1, 1, 1, 1, 1], [12, 12, 4, 4, 1, 1, 1], [12, 12, 4, 4, 3], [12, 12, 5, 5, 1], [13, 6, 5, 5, 5, 1], [13, 6, 6, 3, 3, 2, 2], [13, 6, 6, 5, 5], [13, 7, 5, 5, 5], [13, 7, 7, 2, 2, 2, 2], [13, 9, 9, 2, 1, 1], [13, 9, 9, 2, 2], [13, 10, 4, 4, 1, 1, 1, 1], [13, 11, 5, 5, 1]] [[5, 4, 3, 2, 1], [5, 4, 4, 2, 1], [5, 5, 3, 3, 1], [6, 4, 3, 2, 2]] [[6, 5, 5, 5, 3, 3, 3, 2, 2, 1], [6, 5, 5, 5, 3, 3, 3, 3, 1, 1], [6, 5, 5, 5, 5, 5, 1, 1, 1, 1], [6, 6, 4, 4, 4, 4, 2, 2, 2, 1], [6, 6, 4, 4, 4, 4, 4, 1, 1, 1], [6, 6, 6, 3, 3, 3, 3, 3, 1, 1], [6, 6, 6, 6, 2, 2, 2, 2, 2, 1], [6, 6, 6, 6, 6, 5], [7, 7, 7, 3, 2, 2, 2, 2, 2, 1], [7, 7, 7, 7, 2, 1, 1, 1, 1, 1], [8, 5, 5, 3, 3, 3, 3, 3, 1, 1], [8, 8, 4, 4, 2, 2, 2, 2, 2, 1], [8, 8, 8, 3, 3, 1, 1, 1, 1, 1], [8, 8, 8, 8, 2, 1], [8, 8, 8, 8, 3], [9, 5, 5, 3, 3, 3, 2, 2, 2, 1], [9, 5, 5, 3, 3, 3, 3, 2, 2], [9, 6, 6, 3, 2, 2, 2, 2, 2, 1], [9, 8, 4, 4, 2, 2, 2, 2, 1, 1], [9, 9, 4, 4, 2, 2, 2, 1, 1, 1], [9, 9, 4, 4, 4, 1, 1, 1, 1, 1], [9, 9, 5, 5, 2, 1, 1, 1, 1, 1], [9, 9, 9, 3, 3, 1, 1], [9, 9, 9, 4, 2, 1, 1], [9, 9, 9, 4, 3, 1], [9, 9, 9, 4, 4], [9, 9, 9, 5, 3], [10, 5, 4, 4, 4, 2, 2, 2, 2], [10, 5, 5, 3, 3, 3, 2, 2, 2], [10, 5, 5, 3, 3, 3, 3, 1, 1, 1], [10, 5, 5, 3, 3, 3, 3, 3], [10, 5, 5, 5, 5, 1, 1, 1, 1, 1], [10, 6, 6, 3, 2, 2, 2, 2, 2], [10, 7, 4, 4, 2, 2, 2, 2, 2], [10, 7, 7, 3, 3, 1, 1, 1, 1, 1], [10, 8, 4, 4, 2, 2, 2, 1, 1, 1], [10, 8, 5, 5, 2, 1, 1, 1, 1, 1], [10, 9, 4, 4, 2, 2, 2, 2], [10, 10, 4, 4, 2, 2, 2, 1], [10, 10, 4, 4, 4, 1, 1, 1], [10, 10, 5, 5, 2, 1, 1, 1], [10, 10, 5, 5, 5], [10, 10, 6, 6, 2, 1], [10, 10, 6, 6, 3], [11, 5, 5, 3, 3, 3, 2, 2, 1], [11, 5, 5, 3, 3, 3, 3, 1, 1], [11, 5, 5, 5, 5, 1, 1, 1, 1], [11, 6, 6, 6, 6], [11, 7, 7, 3, 2, 2, 1, 1, 1], [11, 7, 7, 3, 3, 1, 1, 1, 1], [11, 8, 4, 4, 2, 2, 2, 1, 1], [11, 8, 5, 5, 2, 1, 1, 1, 1], [11, 8, 8, 3, 3, 1, 1], [11, 8, 8, 4, 2, 1, 1], [11, 8, 8, 4, 3, 1], [11, 8, 8, 4, 4], [11, 8, 8, 5, 3], [11, 9, 5, 5, 2, 1, 1, 1], [11, 9, 6, 6, 3]]
sdif([6,3],[6,4],3,7)
[[7, 6, 4, 4], [7, 7, 3, 3, 1], [8, 5, 4, 4], [8, 8, 2, 2, 1], [9, 4, 4, 4], [9, 9, 1, 1, 1], [10, 10, 1], [13, 4, 4]]
li(2,2)
[[1], [2], [1, 1]]
li(2,3)
[[1], [2], [1, 1], [3], [2, 1]]
sdif([2,1],[1],3,3)
[[3, 2, 2, 1, 1], [3, 2, 2, 2], [3, 3, 1, 1, 1], [4, 2, 1, 1, 1], [4, 2, 2, 1], [4, 3, 1, 1], [4, 4, 1], [5, 2, 1, 1], [5, 2, 2], [5, 3, 1]]