Q=range(4)
QZ=range(1,4)
def checkvects(V=[]):
        l=len(V)
        if l==4:
##RISULTATO: solo con l==2 ho soluzioni
                s=''
                for (w1, w2) in V:
                        s+='  %2d,%2d'%(w1,w2)
                print ' '*l,s
        for i in xrange(4-l):
                for v1 in Q:
                        for v2  in Q:
                                if v2 == 0:
                                        continue
                                check=1
                                for (w1, w2) in V:
                                        if not checkvw(v1, v2, w1, w2):
                                                check=0
                                                break
                                        if is_equal(v1, v2, w1, w2):
                                                check=0
                                                break
                                if check:
                                        checkvects(V[:]+[(v1,v2)])

def checkvw(v1, v2, w1, w2):
        check=1
        for P1 in Q:
                for Q1 in Q:
                        for l1 in Q:
                                for l2 in Q:
                                        if l1 == l2:
                                                continue
                                        for m1 in Q:
                                                for m2 in Q:
                                                        if m1 == m2:
                                                                continue

                                                        if (P1 + l1 * v1 - (Q1 + m1 * w1))%4 == 0 and \
                                                           (3  + l1 * v2 - (3  + m1 * w2))%4 == 0 and \
                                                           (P1 + l2 * v1 - (Q1 + m2 * w1))%4 == 0 and \
                                                           (3  + l2 * v2 - (3  + m2 * w2))%4 == 0:
                                                                   return 0
        return 1

def is_equal(v1, v2, w1, w2):
        if v1 == w1 and v2 == w2:
                return 1
        if v1 == -w1 and v2 == -w2:
                return 1
        return 0

checkvects()
