def v2(a2,a5):
? ? if (a5 == 'C') and a2=='A':
? ? ? ? ? ? return True
? ? elif (a5 == 'D') and a2=='B':
? ? ? ? ? ? return True
? ? elif (a5 == 'A') and a2=='C':
? ? ? ? ? ? return True
? ? elif (a5 == 'B') and a2=='D':
? ? ? ? ? ? return True
? ? else:? ? ?
? ? ? ? ? ? return False
def v3(a,a3,a6,a2,a4):
? ? if a=='A':
? ? ? ? ? ? return (a3!=a6) and (a3!=a2) and (a3!=a4)?
? ? elif a=='B':
? ? ? ? ? ? return (a6!=a3) and (a6!=a2) and (a6!=a4)?
? ? elif a=='C':
? ? ? ? ? ? return (a2!=a3) and (a2!=a6) and (a2!=a4)?
? ? else: #'D'
? ? ? ? ? ? return (a4!=a3) and (a4!=a6) and (a4!=a2)
def v4(a,a1,a5,a2,a7,a9,a6,a10):
? ? ? ? if a == 'A':
? ? ? ? ? ? return a1 == a5
? ? ? ? elif a == 'B':? ?
? ? ? ? ? ? return a2 == a7
? ? ? ? elif a == 'C':? ?
? ? ? ? ? ? return a1 == a9
? ? ? ? else:# answer = 'D':
? ? ? ? ? ? return a6 == a10? ? ? ?
def v5(a,a8,a4,a9,a7):
? ? ? ? if a == 'A':
? ? ? ? ? ? return a == a8
? ? ? ? elif a == 'B':
? ? ? ? ? ? return a == a4
? ? ? ? elif a == 'C':
? ? ? ? ? ? return a == a9
? ? ? ? else : #answer == 'D':
? ? ? ? ? ? return a == a7?
def v6(a,a8,a2,a4,a1,a6,a3,a10,a5,a9):
? ? ? ? if a == 'A':
? ? ? ? ? ? return a8 == a2 and a8 == a4
? ? ? ? elif a == 'B':
? ? ? ? ? ? return a8 == a1 and a8 == a6
? ? ? ? elif a == 'C':
? ? ? ? ? ? return a8 == a3 and a8 == a10
? ? ? ? else : #answer == 'D':
? ? ? ? ? ? return a8 == a5 and a8 == a9
def v7min(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):
? ? stats = [0,0,0,0]
? ? for i in [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10]:
? ? ? ? stats[ int(i,16)-0xA ]+=1
? ? index = stats.index(min(stats))
? ? return ['A','B','C','D'][index]
def v7(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):
? ? minA = v7min(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
? ? if a7 == 'A':
? ? ? ? return minA =='C'
? ? elif a7 == 'B':
? ? ? ? return minA == 'B'
? ? elif a7 == 'C':
? ? ? ? return minA == 'A'
? ? else : #answer == 'D':
? ? ? ? return minA == 'D'
def v8(a8,a1,a7,a5,a2,a10):
? ? answer1 = int(a1,16)
? ? if a8 == 'A':
? ? ? ? return abs(int(a7,16)-answer1)!=1
? ? elif a8 == 'B':
? ? ? ? return abs(int(a5,16)-answer1)!=1
? ? elif a8 == 'C':
? ? ? ? return abs(int(a2,16)-answer1)!=1
? ? else : #answer == 'D':
? ? ? ? return abs(int(a10,16)-answer1)!=1
def v9(a9,a6,a5,a10,a2,a1):
? ? ? ? if a9 == 'A':
? ? ? ? ? ? valY =? (a6 ==a5)
? ? ? ? elif a9 == 'B':
? ? ? ? ? ? valY =? (a10 ==a5)
? ? ? ? elif a9 == 'C':
? ? ? ? ? ? valY =? (a2 ==a5)
? ? ? ? else : #answer == 'D':
? ? ? ? ? ? valY =? (a9 ==a5)
? ? ? ? valX= (a1 ==a6)?
? ? ? ? return valX!=valY?
def calDiff(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):
? ? stats = [0,0,0,0]
? ? for i in [a1,a2,a3,a4,a5,a6,a7,a8,a9,a10]:
? ? ? ? stats[ int(i,16)-0xA ]+=1
? ? maxV = max(stats)
? ? minV = min(stats)
? ? return maxV-minV? ?
def v10(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):
? ? ? ? count = calDiff(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
? ? ? ? if a10 == 'A':
? ? ? ? ? ? return count == 3
? ? ? ? elif a10 == 'B':
? ? ? ? ? ? return count==2
? ? ? ? elif a10 == 'C':
? ? ? ? ? ? return count == 4
? ? ? ? else : #answer == 'D':
? ? ? ? ? ? return count == 1
def verify(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10):
? ? #skip 1 always true
? ? #question 2
? ? if v2(a2,a5) == False:
? ? ? ? return False
? ? if v3(a3,a3,a6,a2,a4) == False:
? ? ? ? return False
? ? if v4(a4,a1,a5,a2,a7,a9,a6,a10) == False:
? ? ? ? return False
? ? if v5(a5,a8,a4,a9,a7) == False:
? ? ? ? return False
? ? if v6(a6,a8,a2,a4,a1,a6,a3,a10,a5,a9) == False :
? ? ? ? return False
? ? if v7(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) == False:
? ? ? ? return False
? ? if v8(a8,a1,a7,a5,a2,a10) == False:
? ? ? ? return False
? ? if v9(a9,a6,a5,a10,a2,a1) == False:
? ? ? ? return False
? ? if v10(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) == False:
? ? ? ? return False
? ? return True
for a1 in ['A','B','C','D']:
? ? for a2 in ['A','B','C','D']:
? ? ? ? for a3 in ['A','B','C','D']:
? ? ? ? ? ? for a4 in ['A','B','C','D']:
? ? ? ? ? ? ? ? for a5 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? for a6 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? ? ? for a7 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? ? ? ? ? for a8 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for a9 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? for a10 in ['A','B','C','D']:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if verify(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) :
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)