Files
DeepLottery/BallFilter_25.py
dsyoon c611b400ae init
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 18:32:11 +09:00

4453 lines
223 KiB
Python

import json
from collections import Counter
import socket
import numpy as np
import pandas as pd
socket.getaddrinfo(socket.gethostname(), None)
class BallFilter:
history_ball_dict = None
history_ball_no_dict = None
history_ball_date_dict = None
history_ball_list = None
primeNumber = None
compositeNumber = None
def __init__(self, lottoHistoryFileName=None):
if lottoHistoryFileName is not None:
inFp = open(lottoHistoryFileName, 'r', encoding='utf-8')
self.history_ball_list = []
self.history_ball_no_ymd = {}
self.history_ball_no_dict = {}
self.history_ball_date_dict = {}
self.history_ball_dict = {}
while True:
line = inFp.readline()
if not line or line == '\n':
break
data = json.loads(line)
self.history_ball_list.append(sorted([data['drwtNo1'], data['drwtNo2'], data['drwtNo3'], data['drwtNo4'], data['drwtNo5'], data['drwtNo6']]))
self.history_ball_no_dict[str(self.history_ball_list[len(self.history_ball_list) - 1])] = data['drwNo']
self.history_ball_date_dict[data['drwNoDate'].replace('-', '')] = data['drwNo']
self.history_ball_dict[data['drwNo']] = {'date': data['drwNoDate'], 'ball': [data['drwtNo1'], data['drwtNo2'], data['drwtNo3'], data['drwtNo4'], data['drwtNo5'], data['drwtNo6']]}
self.history_ball_no_ymd[data['drwNo']] = data['drwNoDate'].replace('-','')
inFp.close()
# ball 평균과 합 구하기
ball_avg = {}
ball_sum = {}
for i in range(len(self.history_ball_list)):
WIN_BALL = list(self.history_ball_list[-i])
avg = sum(WIN_BALL) / 6
if avg not in ball_avg:
ball_avg[avg] = 1
else:
ball_avg[avg] += 1
if sum(self.history_ball_list[-i]) in ball_sum:
ball_sum[sum(self.history_ball_list[-i])] += 1
else:
ball_sum[sum(self.history_ball_list[-i])] = 1
self.primeNumber = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43]
self.compositeNumber = [4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45]
return
def getBall(self, no):
if no in self.history_ball_dict:
return self.history_ball_dict[no]['ball']
return []
def getLastNo(self, YMD):
if YMD in self.history_ball_date_dict:
return self.history_ball_date_dict[YMD]
return len(self.history_ball_no_dict)
def getNextNo(self, YMD):
if YMD in self.history_ball_date_dict:
return self.history_ball_date_dict[YMD]
return len(self.history_ball_no_dict) + 1
def getYMD(self, no):
if no in self.history_ball_no_ymd:
return self.history_ball_no_ymd[no]
return self.history_ball_no_ymd[-1]
def isInValidBall(self, ball):
for i, b in enumerate(ball):
if b < 1 or 45 < b:
return True
if i > 0:
if ball[i - 1] == b:
return True
return False
def hasWon(self, ball, NO=None):
# 기존 당첨 번호라면
sorted_ball = sorted(ball)
if NO == None:
if str(sorted_ball) in self.history_ball_no_dict:
return True
else:
if str(sorted_ball) in self.history_ball_no_dict:
no = self.history_ball_no_dict[str(sorted_ball)]
if no == NO:
return False
return True
return False
def filterFrequency3Windows(self, drwNo, ball, N, given_count):
"""
24주간 당첨 번호들에 대해서 출현 빈도 순으로 정렬하고, 정렬된 리스트에서 상위 N개, 중간 N개, 하위 N개만 취함
예, N=10 이라면 1~10, 23-10/0~23+10/0 ,36~45
세 개 구간에 대해서 이번 회차의 번호와 겹치는 숫자의 개수를 구하고 given_count 이하 개수라면 filter
"""
if drwNo - 2 - 24 < 1:
return True
fBall = []
for j in range(drwNo - 2, drwNo - 2 - 24, -1):
for b in self.history_ball_list[j]:
fBall.append(b)
ball_count = dict(Counter(fBall))
ball_count_sort = sorted(ball_count.items(), key=lambda x: x[1], reverse=True)
ball_sort = [b[0] for b in ball_count_sort]
ball_set = set(ball)
match_check_ball = set(ball_set) & (
set(ball_sort[:N]) | set(ball_sort[int(23 - N / 2):int(23 + N / 2)]) | set(ball_sort[45 - N:]))
if len(match_check_ball) <= given_count:
return True
return False
def filterFirstBallUnderNumber(self, ball, N=5):
"""
첫 숫자가 N 이하인 경우
"""
WIN_BALL = sorted(ball)
if WIN_BALL[0] <= N:
return True
return False
def filterLastBallOverNumber(self, ball, N=5):
"""
마지막 숫자가 N 이상인 경우
"""
WIN_BALL = sorted(ball)
if WIN_BALL[5] >= N:
return True
return False
def filterLastBallUnderNumber(self, ball, N=20):
"""
마지막 숫자가 N 이상인 경우
"""
WIN_BALL = sorted(ball)
if WIN_BALL[5] <= N:
return True
return False
def getEndNumberCount(self, ball):
return set([int(str(b).zfill(2)[1]) for b in ball])
def filterEndNumberCount(self, ball, N_list=None):
if N_list is None:
N_list = [4, 5]
size = self.getEndNumberCount(ball)
if size in N_list:
return True
return False
def getFirstBallOverNumber(self, ball, N=0):
"""
첫 숫자가 N 이상은 버림
"""
WIN_BALL = sorted(ball)
return WIN_BALL[N]
def isContinusFriendNumber(self, drwNo, ball):
"""
이웃수 체크: 특정 번호에 대해서 다음 수나 이전 수가 나오는 경우
이전 당첨 번호 중 하나가 7이라면 이번에 6혹은 8이 없어야 함.
이런 식의 이웃수가 있다면 True
"""
if drwNo <= 2:
return False
P_WIN_BALL = list(self.history_ball_list[drwNo - 2])
WIN_BALL_SET = set(ball)
isValid = False
for b in P_WIN_BALL:
if b - 1 in WIN_BALL_SET or b + 1 in WIN_BALL_SET:
isValid = True
break
return isValid
def isOverlapNumber(self, drwNo, ball, N):
"""
연속해서 겹치는 수가 출현하는지 체크
"""
if drwNo <= N:
return True
WIN_BALL_SET = set(sorted(ball))
overlapCount = []
for i in range(N):
P_WIN_BALL_SET = set(sorted(self.history_ball_list[drwNo - (i + 2)]))
if len(WIN_BALL_SET & P_WIN_BALL_SET) > 0:
overlapCount.append(1)
else:
overlapCount.append(0)
if sum(overlapCount) == N:
return True
return False
def filterContinusNumber(self, ball, N):
"""
하나의 당첨 번호에서 N개 연속된 숫자인지 체크하여 필터링
"""
WIN_BALL = sorted(ball)
if N == 6:
if (
WIN_BALL[0] + 5 == WIN_BALL[1] + 4 == WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 ==
WIN_BALL[5]
):
return True
if N == 5:
if (
WIN_BALL[0] + 4 == WIN_BALL[1] + 3 == WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[1] + 4 == WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]
):
return True
if N == 4:
if (
WIN_BALL[0] + 3 == WIN_BALL[1] + 2 == WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[1] + 3 == WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]
):
return True
if N == 3:
if (
WIN_BALL[0] + 2 == WIN_BALL[1] + 1 == WIN_BALL[2]
or WIN_BALL[1] + 2 == WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]
):
return True
if N == 2:
if (
WIN_BALL[0] + 1 == WIN_BALL[1]
or WIN_BALL[1] + 1 == WIN_BALL[2]
or WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[4] + 1 == WIN_BALL[5]
):
return True
return False
def getContinusNumber(self, ball):
"""
하나의 당첨 번호에서 N개 연속된 숫자인지 체크하여 필터링
"""
WIN_BALL = sorted(ball)
if (WIN_BALL[0] + 5 == WIN_BALL[1] + 4 == WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]):
return 6
if (WIN_BALL[0] + 4 == WIN_BALL[1] + 3 == WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[1] + 4 == WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]):
return 5
if (WIN_BALL[0] + 3 == WIN_BALL[1] + 2 == WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[1] + 3 == WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[2] + 3 == WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]):
return 4
if (WIN_BALL[0] + 2 == WIN_BALL[1] + 1 == WIN_BALL[2]
or WIN_BALL[1] + 2 == WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[2] + 2 == WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[3] + 2 == WIN_BALL[4] + 1 == WIN_BALL[5]):
return 3
if (WIN_BALL[0] + 1 == WIN_BALL[1]
or WIN_BALL[1] + 1 == WIN_BALL[2]
or WIN_BALL[2] + 1 == WIN_BALL[3]
or WIN_BALL[3] + 1 == WIN_BALL[4]
or WIN_BALL[4] + 1 == WIN_BALL[5]):
return 2
return 1
def filterContinusWinCount(self, drwNo, ball, N=3):
"""
특정 한 번호가 이전 회차에서 N번 연속 당첨한 경우는 필터링
"""
if drwNo <= N:
return True
section = self.history_ball_list[drwNo - N - 1:drwNo - 1]
WIN_BALL_SET = set(sorted(ball))
for b in WIN_BALL_SET:
overlapCount = []
for i in range(len(section) - 1, -1, -1):
P_WIN_BALL_SET = set(sorted(section[i]))
if b in P_WIN_BALL_SET:
overlapCount.append(1)
else:
overlapCount.append(0)
if sum(overlapCount) == N:
return True
return False
def filterBallAverage(self, ball):
# 6개 당첨 공들의 평균
# if sum(ball)/6 not in self.VALID_AVG:
# if sum(ball)/6 < min(self.VALID_AVG.keys()) or max(self.VALID_AVG.keys()) < sum(ball)/6:
avg_value = sum(ball) / 6
if not (19 < avg_value < 20 or 21 < avg_value < 22 or 28 < avg_value < 29):
return True
return False
def getBallAverage(self, ball):
# 6개 당첨 공들의 평균
return sum(ball) / 6
def filterTotalSum(self, ball):
# 6개 당첨 공들의 평균
# if sum(ball) < min(self.VALID_SUM.keys()) or max(self.VALID_SUM.keys()) < sum(ball):
sum_value = sum(ball)
if not (115 < sum_value < 120 or 125 < sum_value < 130 or 170 < sum_value < 175):
return True
return False
def getTotalSum(self, ball):
# 6개 당첨 공들의 평균
return sum(ball)
def getNonAppearances(self, drwNo, ball):
"""
미출현 회수
"""
b0, b1, b2, b3, b4, b5 = 0, 0, 0, 0, 0, 0
c0, c1, c2, c3, c4, c5 = 0, 0, 0, 0, 0, 0
for idx in range(drwNo - 2, 0, -1):
h_ball = self.history_ball_list[idx]
if c0 == 0 and ball[0] not in h_ball:
b0 += 1
if ball[0] in h_ball:
c0 = 1
if c1 == 0 and ball[1] not in h_ball:
b1 += 1
if ball[1] in h_ball:
c1 = 1
if c2 == 0 and ball[2] not in h_ball:
b2 += 1
if ball[2] in h_ball:
c2 = 1
if c3 == 0 and ball[3] not in h_ball:
b3 += 1
if ball[3] in h_ball:
c3 = 1
if c4 == 0 and ball[4] not in h_ball:
b4 += 1
if ball[4] in h_ball:
c4 = 1
if c5 == 0 and ball[5] not in h_ball:
b5 += 1
if ball[5] in h_ball:
c5 = 1
if c0 == 1 and c1 == 1 and c2 == 1 and c3 == 1 and c4 == 1 and c5 == 1:
break
return b0, b1, b2, b3, b4, b5
# 앞번호 숫자들의 합
def getFrontDigitsSum(self, ball):
return sum([int(str(b).zfill(2)[0]) for b in ball])
# 뒷번호 숫자들의 합
def getLastDigitsSum(self, ball):
return sum([int(str(b).zfill(2)[1]) for b in ball])
def filterEvenCount(self, ball):
"""
모두 짝수이거나 홀수이면 필터 [0, 4, 6, 8, 10], [1, 2, 5, 7, 9, 11]
"""
even_list = [b for b in ball if b % 2 == 0]
# odd_list = [b for b in ball if b % 0 == 1]
return len(even_list)
def getEvenCount(self, ball):
"""
모두 짝수이거나 홀수이면 필터 [0, 4, 6, 8, 10], [1, 2, 5, 7, 9, 11]
"""
return len([b for b in ball if b % 2 == 0])
def filterNTimesIn15UnitSections(self, ball, N=4):
# 같은 5단위 4개 이상인 경우
# [1, 0, 2, 4, 15, 16]
# [15, 11, 11, 14, 25, 36]
# [15, 22, 23, 24, 25, 36]
# [15, 32, 33, 34, 25, 36]
# [41, 42, 43, 44, 15, 36]
b1 = [b for b in ball if 1 <= b <= 15]
b2 = [b for b in ball if 16 <= b <= 30]
b3 = [b for b in ball if 31 <= b <= 45]
if len(b1) >= N or len(b2) >= N or len(b3) >= N:
return True
return False
def filterNTimesIn10UnitSections(self, ball, N=4):
# 같은 10단위 4개 이상인 경우
b1 = [b for b in ball if 1 <= b <= 10]
b2 = [b for b in ball if 11 <= b <= 20]
b3 = [b for b in ball if 21 <= b <= 30]
b4 = [b for b in ball if 31 <= b <= 40]
b5 = [b for b in ball if 41 <= b <= 45]
if len(b1) >= N or len(b2) >= N or len(b3) >= N or len(b4) >= N or len(b5) >= N:
return True
return False
def filterNTimesIn9UnitSections(self, ball, N=4):
# 같은 9단위 4개 이상인 경우
# [1, 0, 2, 4, 15, 16]
# [15, 11, 11, 14, 25, 36]
# [15, 22, 23, 24, 25, 36]
# [15, 32, 33, 34, 25, 36]
# [41, 42, 43, 44, 15, 36]
b1 = [b for b in ball if 1 <= b <= 9]
b2 = [b for b in ball if 10 <= b <= 18]
b3 = [b for b in ball if 19 <= b <= 27]
b4 = [b for b in ball if 28 <= b <= 36]
b5 = [b for b in ball if 37 <= b <= 45]
if len(b1) >= N or len(b2) >= N or len(b3) >= N or len(b4) >= N or len(b5) >= N:
return True
return False
def filterNTimesIn7UnitSections(self, ball, N=4):
# 같은 5단위 4개 이상인 경우
b1 = [b for b in ball if 1 <= b <= 7]
b2 = [b for b in ball if 6 <= b <= 14]
b3 = [b for b in ball if 11 <= b <= 21]
b4 = [b for b in ball if 16 <= b <= 28]
b5 = [b for b in ball if 21 <= b <= 25]
b6 = [b for b in ball if 26 <= b <= 30]
b7 = [b for b in ball if 31 <= b <= 35]
b8 = [b for b in ball if 36 <= b <= 40]
b9 = [b for b in ball if 41 <= b <= 45]
if (
len(b1) >= N or len(b2) >= N or len(b3) >= N or len(b4) >= N or len(b5) >= N
or len(b6) >= N or len(b7) >= N or len(b8) >= N or len(b9) >= N
):
return True
return False
def filterNTimesIn5UnitSections(self, ball, N=4):
# 같은 5단위 4개 이상인 경우
b1 = [b for b in ball if 1 <= b <= 5]
b2 = [b for b in ball if 6 <= b <= 10]
b3 = [b for b in ball if 11 <= b <= 15]
b4 = [b for b in ball if 16 <= b <= 20]
b5 = [b for b in ball if 21 <= b <= 25]
b6 = [b for b in ball if 26 <= b <= 30]
b7 = [b for b in ball if 31 <= b <= 35]
b8 = [b for b in ball if 36 <= b <= 40]
b9 = [b for b in ball if 41 <= b <= 45]
if (
len(b1) >= N or len(b2) >= N or len(b3) >= N or len(b4) >= N or len(b5) >= N
or len(b6) >= N or len(b7) >= N or len(b8) >= N or len(b9) >= N
):
return True
return False
def filterGivenData(self, ball):
if not (ball[0] < 5 and ball[1] < 10 and 37 < ball[5]):
return True
return False
def filterPreviousNumber(self, ball, no):
previous_ball = self.getBall(no-1)
pb_set = set(previous_ball)
if (
ball[0] not in pb_set and ball[0] - 1 not in pb_set and ball[0] + 1 not in pb_set and
ball[1] not in pb_set and ball[1] - 1 not in pb_set and ball[1] + 1 not in pb_set and
ball[2] not in pb_set and ball[2] - 1 not in pb_set and ball[2] + 1 not in pb_set and
ball[3] not in pb_set and ball[3] - 1 not in pb_set and ball[3] + 1 not in pb_set and
ball[4] not in pb_set and ball[4] - 1 not in pb_set and ball[4] + 1 not in pb_set and
ball[5] not in pb_set and ball[5] - 1 not in pb_set and ball[5] + 1 not in pb_set
):
return True
return False
def getACValue(self, ball):
ac = set()
for i in range(5, -1, -1):
for j in range(i-1, -1, -1):
ac.add( ball[i] - ball[j])
return len(ac) - (6-1)
def getNumberOfAppearancesInSection10(self, ball):
section = set()
for b in ball:
v = int(b/10)
if v not in section:
section.add(v)
return len(section)
def get_ball_interval(self, ball):
interval_sum = 0
for i in range(1, len(ball)):
interval_sum += (ball[i] - ball[i-1])
return interval_sum
def getFirstLetterSumBall(self, ball):
acc = [str(b)[0] for b in ball if len(str(b))==2]
acc = [int(b) for b in acc]
return sum(acc)
def getLastLetterSumBall(self, ball):
acc = [str(b)[1] for b in ball if len(str(b)) == 2] + [str(b) for b in ball if len(str(b)) == 1]
acc = [int(b) for b in acc]
return sum(acc)
def getWeeksFrequency(self, answer, df=None, no=None, week=20):
if df is None:
df = pd.DataFrame(self.history_ball_list, columns=['b1','b2','b3','b4','b5','b6'])
dic = {}
ball = []
for w in range(1, week+1):
ball += df[df['no'] == no-w].values.tolist()[0][1:7]
for b in ball:
if b not in dic:
dic[b] = 1
else:
dic[b] += 1
exist_ball = set()
for b in answer:
if b in dic:
exist_ball.add(b)
return len(exist_ball)
def filterOverseas(self, ball, no):
if no in self.oversea_history_ball:
oversea_balls = self.oversea_history_ball[no]
match = []
for b in ball:
if b in oversea_balls:
match.append(1)
if len(match) < 3:
return True
return False
def filterAllPreivous7(self, ball, no):
pb_set = set()
for i in range(no-1, no-8, -1):
pb = self.getBall(i)
for b in pb:
if b not in pb_set:
pb_set.add(b)
if len(set(ball) & pb_set) == 6:
return True
return False
def checkFilter_JapanMethod(self, df, week=26):
# https://xn--961bo7bg3gjne.com/menu_103.php
all_balls = {}
pos = len(df) - 1
try_num = 0
for i in range(pos, pos - week, -1):
ball = [df['b1'].iloc[i], df['b2'].iloc[i], df['b3'].iloc[i], df['b4'].iloc[i], df['b5'].iloc[i], df['b6'].iloc[i]]
for b in ball:
if b not in all_balls:
all_balls[b] = 1
else:
all_balls[b] += 1
try_num += 1
all_balls_sorted = sorted(all_balls.items(), key=lambda x: x[1], reverse=True)
return set([bf[0] for bf in all_balls_sorted if bf[1] in [2,3]])
def filterPatternInPaper1(self, ball, log=False):
# https://www.9dantv.com/mobile/jump.do
# 모서리패턴
filter_set = {1,2,8,9,6,7,13,14,29,30,36,37,43,44,45,34,35,41,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #1"
# 좌상 삼각 패턴
filter_set = {1,2,3,4,5,6,7,8,9,10,11,12,13,25,16,17,18,19,22,23,24,25,29,30,31,36,37,43}
if len(set(ball) & filter_set) == 6:
return "용지영역: #0"
# 좌하 삼각 패턴
filter_set = {1,8,9,15,16,17,22,23,24,25,29,30,31,32,33,36,37,38,39,40,41,43,44,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #2"
# 우상 삼각패턴
filter_set = {1,2,3,4,5,6,7,9,10,11,12,13,14,17,18,19,20,21,25,26,27,28,33,34,35,41,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #4"
# 우하 삼각패턴
filter_set = {7,13,14,19,20,21,25,26,27,28,31,32,33,34,35,37,38,39,40,41,42,43,44,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #5"
# 우하 삼각패턴
filter_set = {7,13,14,19,20,21,25,26,27,28,31,32,33,34,35,37,38,39,40,41,42,43,44,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #6"
return None
def filterPatternInPaper2(self, ball, log=False):
# 퐁당퐁당 패턴 #1
filter_set = {1,2,4,5,8,9,11,12,15,16,18,19,22,23,25,26,29,30,32,33,36,37,39,40,43,44,8,15,22,29,36,43,2,9,16,23,30,37,44,4,11,18,25,32,39,5,12,19,26,33,40}
if len(set(ball) & filter_set) == 6:
return "용지영역: #7"
# 퐁당퐁당 패턴 #0
filter_set = {3,10,17,24,31,38,45,4,11,18,25,32,39,6,13,20,27,34,41,7,14,21,28,35,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #8"
# 좌우 2줄 패턴
filter_set = {1,8,15,22,29,36,43,2,9,16,23,30,37,44,6,13,20,27,34,41,7,14,21,28,35,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #9"
return None
def filterPatternInPaper3(self, ball, log=False):
# 가로 라인 1,0,2
filter_set = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}
if len(set(ball) & filter_set) == 6:
return "용지영역: #10"
# 가로 라인 0,2,4
filter_set = {8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28}
if len(set(ball) & filter_set) == 6:
return "용지영역: #11"
# 가로 라인 2,4,5
filter_set = {15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35}
if len(set(ball) & filter_set) == 6:
return "용지영역: #11"
# 가로 라인 4,5,6
filter_set = {22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #11"
# 가로 라인 5,6,7
filter_set = {29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #14"
return None
def filterPatternInPaper4(self, ball, log=False):
# 가로 1라인부터 연속 6줄 #1
filter_set = {1,2,3,4,5,6,7}
if len(set(ball) & filter_set) == 6:
return "용지영역: #15"
# 가로 1라인부터 연속 6줄 #0
filter_set = {8,9,10,11,12,13,14}
if len(set(ball) & filter_set) == 6:
return "용지영역: #16"
# 가로 1라인부터 연속 6줄 #2
filter_set = {15,16,17,18,19,20,21}
if len(set(ball) & filter_set) == 6:
return "용지영역: #17"
# 가로 1라인부터 연속 6줄 #4
filter_set = {22,23,24,25,26,27,28}
if len(set(ball) & filter_set) == 6:
return "용지영역: #18"
# 가로 1라인부터 연속 6줄 #5
filter_set = {29,30,31,32,33,34,35}
if len(set(ball) & filter_set) == 6:
return "용지영역: #19"
# 가로 1라인부터 연속 6줄 #6
filter_set = {36,37,38,39,40,41,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #20"
# 가로 2라인부터 연속 6줄
filter_set = {36,37,38,39,40,41,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #21"
return None
def filterPatternInPaper5(self, ball, log=False):
# 세로 라인 1,0,2
filter_set = {1,8,15,22,29,36,43,2,9,16,23,30,37,44,3,10,17,24,31,38,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #22"
# 세로 라인 0,2,4
filter_set = {2,9,16,23,30,37,44,3,10,17,24,31,38,45,4,11,18,25,32,39}
if len(set(ball) & filter_set) == 6:
return "용지영역: #23"
# 세로 라인 2,4,5
filter_set = {3,10,17,24,31,38,45,4,11,18,25,32,39,5,12,19,26,33,40}
if len(set(ball) & filter_set) == 6:
return "용지영역: #24"
# 세로 라인 4,5,6
filter_set = {4,11,18,25,32,39,5,12,19,26,33,40,6,13,20,27,34,41}
if len(set(ball) & filter_set) == 6:
return "용지영역: #25"
# 세로 라인 5,6,7
filter_set = {5,12,19,26,33,40,6,13,20,27,34,41,7,14,21,28,35,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #26"
return None
def filterPatternInPaper6(self, ball, log=False):
# 세로 1라인부터 연속 6줄
filter_set = {1,8,15,22,29,36,43}
if len(set(ball) & filter_set) == 6:
return "용지영역: #27"
# 세로 2라인부터 연속 6줄
filter_set = {2,9,16,23,30,37,44}
if len(set(ball) & filter_set) == 6:
return "용지영역: #28"
# 세로 3라인부터 연속 6줄
filter_set = {3,10,17,24,31,38,45}
if len(set(ball) & filter_set) == 6:
return "용지영역: #29"
# 세로 4라인부터 연속 6줄
filter_set = {4,11,18,25,32,39}
if len(set(ball) & filter_set) == 6:
return "용지영역: #30"
# 세로 5라인부터 연속 6줄
filter_set = {5,12,19,26,33,40}
if len(set(ball) & filter_set) == 6:
return "용지영역: #31"
# 세로 6라인부터 연속 6줄
filter_set = {6,13,20,27,34,41}
if len(set(ball) & filter_set) == 6:
return "용지영역: #32"
# 세로 7라인부터 연속 6줄
filter_set = {7,14,21,28,35,42}
if len(set(ball) & filter_set) == 6:
return "용지영역: #33"
return None
def getHigLowRate(self, ball):
low = []
high = []
for b in ball:
if b < 23:
low.append(b)
if 23 < b:
high.append(b)
return len(low), len(high)
def filterOneDigitPattern(self, ball):
ball = [8, 18, 22, 31, 40, 44]
digit = set()
for b in ball:
if b % 10 not in digit:
digit.add(b % 10)
return len(digit)
def filterPairBall(self, ball):
set_ball = set(ball)
if len(set_ball & {8, 12}) == 2: return 1
if len(set_ball & {6, 29}) == 2: return 2
if len(set_ball & {6, 33}) == 2: return 3
if len(set_ball & {8, 26}) == 2: return 4
if len(set_ball & {11, 40}) == 2: return 5
if len(set_ball & {26, 32}) == 2: return 6
if len(set_ball & {5, 40}) == 2: return 7
if len(set_ball & {8, 9}) == 2: return 8
if len(set_ball & {19, 29}) == 2: return 9
if len(set_ball & {21, 28}) == 2: return 10
if len(set_ball & {23, 41}) == 2: return 11
if len(set_ball & {24, 43}) == 2: return 12
if len(set_ball & {1, 22}) == 2: return 13
if len(set_ball & {3, 25}) == 2: return 14
if len(set_ball & {3, 28}) == 2: return 15
if len(set_ball & {4, 30}) == 2: return 16
if len(set_ball & {9, 19}) == 2: return 17
if len(set_ball & {9, 45}) == 2: return 18
if len(set_ball & {11, 34}) == 2: return 19
if len(set_ball & {16, 22}) == 2: return 20
if len(set_ball & {22, 29}) == 2: return 21
if len(set_ball & {24, 28}) == 2: return 22
if len(set_ball & {28, 31}) == 2: return 23
if len(set_ball & {37, 44}) == 2: return 24
if len(set_ball & {1, 31}) == 2: return 25
if len(set_ball & {2, 23}) == 2: return 26
if len(set_ball & {2, 35}) == 2: return 27
if len(set_ball & {5, 10}) == 2: return 28
if len(set_ball & {5, 33}) == 2: return 29
if len(set_ball & {6, 23}) == 2: return 30
if len(set_ball & {7, 32}) == 2: return 31
if len(set_ball & {9, 20}) == 2: return 32
if len(set_ball & {9, 44}) == 2: return 33
if len(set_ball & {16, 32}) == 2: return 34
if len(set_ball & {22, 45}) == 2: return 35
if len(set_ball & {25, 30}) == 2: return 36
if len(set_ball & {25, 41}) == 2: return 37
if len(set_ball & {25, 42}) == 2: return 38
if len(set_ball & {28, 29}) == 2: return 39
if len(set_ball & {28, 32}) == 2: return 40
if len(set_ball & {28, 33}) == 2: return 41
if len(set_ball & {29, 30}) == 2: return 42
if len(set_ball & {1, 30}) == 2: return 43
if len(set_ball & {2, 9}) == 2: return 44
if len(set_ball & {2, 38}) == 2: return 45
if len(set_ball & {3, 21}) == 2: return 46
if len(set_ball & {4, 21}) == 2: return 47
if len(set_ball & {4, 36}) == 2: return 48
if len(set_ball & {5, 8}) == 2: return 49
if len(set_ball & {5, 28}) == 2: return 50
if len(set_ball & {5, 36}) == 2: return 51
if len(set_ball & {5, 38}) == 2: return 52
if len(set_ball & {6, 8}) == 2: return 53
if len(set_ball & {6, 9}) == 2: return 54
if len(set_ball & {6, 45}) == 2: return 55
if len(set_ball & {7, 21}) == 2: return 56
if len(set_ball & {8, 10}) == 2: return 57
if len(set_ball & {8, 22}) == 2: return 58
if len(set_ball & {8, 41}) == 2: return 59
if len(set_ball & {9, 22}) == 2: return 60
if len(set_ball & {9, 32}) == 2: return 61
if len(set_ball & {9, 42}) == 2: return 62
if len(set_ball & {10, 17}) == 2: return 63
if len(set_ball & {10, 26}) == 2: return 64
if len(set_ball & {10, 30}) == 2: return 65
if len(set_ball & {10, 45}) == 2: return 66
if len(set_ball & {14, 29}) == 2: return 67
if len(set_ball & {15, 31}) == 2: return 68
if len(set_ball & {15, 32}) == 2: return 69
if len(set_ball & {18, 41}) == 2: return 70
if len(set_ball & {19, 37}) == 2: return 71
if len(set_ball & {20, 29}) == 2: return 72
if len(set_ball & {22, 41}) == 2: return 73
if len(set_ball & {23, 32}) == 2: return 74
if len(set_ball & {23, 33}) == 2: return 75
if len(set_ball & {24, 26}) == 2: return 76
if len(set_ball & {24, 31}) == 2: return 77
if len(set_ball & {28, 35}) == 2: return 78
if len(set_ball & {29, 41}) == 2: return 79
if len(set_ball & {32, 35}) == 2: return 80
if len(set_ball & {32, 38}) == 2: return 81
if len(set_ball & {35, 41}) == 2: return 82
if len(set_ball & {39, 42}) == 2: return 83
return None
def filterTriplePairBall(self, ball):
set_ball = set(ball)
if len(set_ball & {1, 2, 32}) == 3: return 1
if len(set_ball & {1, 2, 41}) == 3: return 2
if len(set_ball & {1, 2, 43}) == 3: return 3
if len(set_ball & {1, 3, 5}) == 3: return 4
if len(set_ball & {1, 3, 13}) == 3: return 5
if len(set_ball & {1, 3, 19}) == 3: return 6
if len(set_ball & {1, 3, 38}) == 3: return 7
if len(set_ball & {1, 4, 7}) == 3: return 8
if len(set_ball & {1, 4, 11}) == 3: return 9
if len(set_ball & {1, 4, 21}) == 3: return 10
if len(set_ball & {1, 4, 22}) == 3: return 11
if len(set_ball & {1, 4, 24}) == 3: return 12
if len(set_ball & {1, 4, 25}) == 3: return 13
if len(set_ball & {1, 4, 27}) == 3: return 14
if len(set_ball & {1, 4, 30}) == 3: return 15
if len(set_ball & {1, 4, 32}) == 3: return 16
if len(set_ball & {1, 4, 36}) == 3: return 17
if len(set_ball & {1, 4, 44}) == 3: return 18
if len(set_ball & {1, 5, 7}) == 3: return 19
if len(set_ball & {1, 5, 8}) == 3: return 20
if len(set_ball & {1, 5, 15}) == 3: return 21
if len(set_ball & {1, 5, 17}) == 3: return 22
if len(set_ball & {1, 5, 22}) == 3: return 23
if len(set_ball & {1, 5, 33}) == 3: return 24
if len(set_ball & {1, 5, 43}) == 3: return 25
if len(set_ball & {1, 5, 45}) == 3: return 26
if len(set_ball & {1, 6, 7}) == 3: return 27
if len(set_ball & {1, 6, 8}) == 3: return 28
if len(set_ball & {1, 6, 10}) == 3: return 29
if len(set_ball & {1, 6, 18}) == 3: return 30
if len(set_ball & {1, 6, 21}) == 3: return 31
if len(set_ball & {1, 6, 23}) == 3: return 32
if len(set_ball & {1, 6, 26}) == 3: return 33
if len(set_ball & {1, 6, 29}) == 3: return 34
if len(set_ball & {1, 6, 30}) == 3: return 35
if len(set_ball & {1, 6, 32}) == 3: return 36
if len(set_ball & {1, 6, 35}) == 3: return 37
if len(set_ball & {1, 6, 43}) == 3: return 38
if len(set_ball & {1, 6, 44}) == 3: return 39
if len(set_ball & {1, 7, 13}) == 3: return 40
if len(set_ball & {1, 7, 17}) == 3: return 41
if len(set_ball & {1, 7, 25}) == 3: return 42
if len(set_ball & {1, 7, 28}) == 3: return 43
if len(set_ball & {1, 7, 29}) == 3: return 44
if len(set_ball & {1, 7, 31}) == 3: return 45
if len(set_ball & {1, 7, 39}) == 3: return 46
if len(set_ball & {1, 7, 43}) == 3: return 47
if len(set_ball & {1, 7, 44}) == 3: return 48
if len(set_ball & {1, 7, 45}) == 3: return 49
if len(set_ball & {1, 8, 16}) == 3: return 50
if len(set_ball & {1, 8, 20}) == 3: return 51
if len(set_ball & {1, 8, 25}) == 3: return 52
if len(set_ball & {1, 8, 30}) == 3: return 53
if len(set_ball & {1, 8, 40}) == 3: return 54
if len(set_ball & {1, 8, 41}) == 3: return 55
if len(set_ball & {1, 9, 15}) == 3: return 56
if len(set_ball & {1, 9, 22}) == 3: return 57
if len(set_ball & {1, 9, 34}) == 3: return 58
if len(set_ball & {1, 9, 37}) == 3: return 59
if len(set_ball & {1, 9, 44}) == 3: return 60
if len(set_ball & {1, 10, 11}) == 3: return 61
if len(set_ball & {1, 10, 30}) == 3: return 62
if len(set_ball & {1, 10, 34}) == 3: return 63
if len(set_ball & {1, 10, 39}) == 3: return 64
if len(set_ball & {1, 11, 19}) == 3: return 65
if len(set_ball & {1, 11, 20}) == 3: return 66
if len(set_ball & {1, 11, 29}) == 3: return 67
if len(set_ball & {1, 11, 31}) == 3: return 68
if len(set_ball & {1, 11, 33}) == 3: return 69
if len(set_ball & {1, 11, 41}) == 3: return 70
if len(set_ball & {1, 11, 43}) == 3: return 71
if len(set_ball & {1, 12, 25}) == 3: return 72
if len(set_ball & {1, 12, 30}) == 3: return 73
if len(set_ball & {1, 12, 31}) == 3: return 74
if len(set_ball & {1, 13, 15}) == 3: return 75
if len(set_ball & {1, 13, 23}) == 3: return 76
if len(set_ball & {1, 13, 27}) == 3: return 77
if len(set_ball & {1, 13, 30}) == 3: return 78
if len(set_ball & {1, 13, 31}) == 3: return 79
if len(set_ball & {1, 13, 41}) == 3: return 80
if len(set_ball & {1, 14, 17}) == 3: return 81
if len(set_ball & {1, 14, 19}) == 3: return 82
if len(set_ball & {1, 14, 22}) == 3: return 83
if len(set_ball & {1, 14, 23}) == 3: return 84
if len(set_ball & {1, 14, 25}) == 3: return 85
if len(set_ball & {1, 14, 30}) == 3: return 86
if len(set_ball & {1, 14, 31}) == 3: return 87
if len(set_ball & {1, 14, 36}) == 3: return 88
if len(set_ball & {1, 14, 38}) == 3: return 89
if len(set_ball & {1, 14, 45}) == 3: return 90
if len(set_ball & {1, 15, 21}) == 3: return 91
if len(set_ball & {1, 15, 27}) == 3: return 92
if len(set_ball & {1, 15, 29}) == 3: return 93
if len(set_ball & {1, 15, 30}) == 3: return 94
if len(set_ball & {1, 15, 31}) == 3: return 95
if len(set_ball & {1, 15, 33}) == 3: return 96
if len(set_ball & {1, 15, 43}) == 3: return 97
if len(set_ball & {1, 16, 27}) == 3: return 98
if len(set_ball & {1, 16, 31}) == 3: return 99
if len(set_ball & {1, 17, 18}) == 3: return 100
if len(set_ball & {1, 17, 38}) == 3: return 101
if len(set_ball & {1, 18, 21}) == 3: return 102
if len(set_ball & {1, 18, 25}) == 3: return 103
if len(set_ball & {1, 18, 35}) == 3: return 104
if len(set_ball & {1, 18, 39}) == 3: return 105
if len(set_ball & {1, 19, 21}) == 3: return 106
if len(set_ball & {1, 19, 22}) == 3: return 107
if len(set_ball & {1, 19, 25}) == 3: return 108
if len(set_ball & {1, 19, 29}) == 3: return 109
if len(set_ball & {1, 19, 31}) == 3: return 110
if len(set_ball & {1, 19, 32}) == 3: return 111
if len(set_ball & {1, 19, 33}) == 3: return 112
if len(set_ball & {1, 19, 37}) == 3: return 113
if len(set_ball & {1, 19, 45}) == 3: return 114
if len(set_ball & {1, 20, 21}) == 3: return 115
if len(set_ball & {1, 20, 38}) == 3: return 116
if len(set_ball & {1, 21, 28}) == 3: return 117
if len(set_ball & {1, 21, 43}) == 3: return 118
if len(set_ball & {1, 22, 23}) == 3: return 119
if len(set_ball & {1, 22, 24}) == 3: return 120
if len(set_ball & {1, 22, 26}) == 3: return 121
if len(set_ball & {1, 22, 27}) == 3: return 122
if len(set_ball & {1, 22, 29}) == 3: return 123
if len(set_ball & {1, 22, 30}) == 3: return 124
if len(set_ball & {1, 22, 34}) == 3: return 125
if len(set_ball & {1, 22, 35}) == 3: return 126
if len(set_ball & {1, 22, 36}) == 3: return 127
if len(set_ball & {1, 22, 41}) == 3: return 128
if len(set_ball & {1, 22, 43}) == 3: return 129
if len(set_ball & {1, 22, 44}) == 3: return 130
if len(set_ball & {1, 23, 32}) == 3: return 131
if len(set_ball & {1, 23, 36}) == 3: return 132
if len(set_ball & {1, 24, 37}) == 3: return 133
if len(set_ball & {1, 25, 27}) == 3: return 134
if len(set_ball & {1, 25, 30}) == 3: return 135
if len(set_ball & {1, 25, 31}) == 3: return 136
if len(set_ball & {1, 25, 32}) == 3: return 137
if len(set_ball & {1, 25, 33}) == 3: return 138
if len(set_ball & {1, 25, 42}) == 3: return 139
if len(set_ball & {1, 25, 43}) == 3: return 140
if len(set_ball & {1, 26, 39}) == 3: return 141
if len(set_ball & {1, 26, 45}) == 3: return 142
if len(set_ball & {1, 27, 31}) == 3: return 143
if len(set_ball & {1, 27, 38}) == 3: return 144
if len(set_ball & {1, 27, 44}) == 3: return 145
if len(set_ball & {1, 28, 33}) == 3: return 146
if len(set_ball & {1, 28, 38}) == 3: return 147
if len(set_ball & {1, 28, 39}) == 3: return 148
if len(set_ball & {1, 29, 30}) == 3: return 149
if len(set_ball & {1, 29, 41}) == 3: return 150
if len(set_ball & {1, 30, 31}) == 3: return 151
if len(set_ball & {1, 30, 37}) == 3: return 152
if len(set_ball & {1, 30, 40}) == 3: return 153
if len(set_ball & {1, 30, 44}) == 3: return 154
if len(set_ball & {1, 30, 45}) == 3: return 155
if len(set_ball & {1, 31, 32}) == 3: return 156
if len(set_ball & {1, 31, 33}) == 3: return 157
if len(set_ball & {1, 31, 35}) == 3: return 158
if len(set_ball & {1, 31, 36}) == 3: return 159
if len(set_ball & {1, 31, 37}) == 3: return 160
if len(set_ball & {1, 31, 38}) == 3: return 161
if len(set_ball & {1, 31, 39}) == 3: return 162
if len(set_ball & {1, 31, 41}) == 3: return 163
if len(set_ball & {1, 31, 45}) == 3: return 164
if len(set_ball & {1, 32, 38}) == 3: return 165
if len(set_ball & {1, 32, 39}) == 3: return 166
if len(set_ball & {1, 32, 43}) == 3: return 167
if len(set_ball & {1, 32, 44}) == 3: return 168
if len(set_ball & {1, 33, 38}) == 3: return 169
if len(set_ball & {1, 33, 41}) == 3: return 170
if len(set_ball & {1, 33, 44}) == 3: return 171
if len(set_ball & {1, 35, 36}) == 3: return 172
if len(set_ball & {1, 36, 43}) == 3: return 173
if len(set_ball & {1, 37, 44}) == 3: return 174
if len(set_ball & {1, 38, 42}) == 3: return 175
if len(set_ball & {1, 38, 43}) == 3: return 176
if len(set_ball & {1, 38, 44}) == 3: return 177
if len(set_ball & {1, 39, 41}) == 3: return 178
if len(set_ball & {1, 39, 42}) == 3: return 179
if len(set_ball & {1, 41, 45}) == 3: return 180
if len(set_ball & {2, 3, 8}) == 3: return 181
if len(set_ball & {2, 3, 10}) == 3: return 182
if len(set_ball & {2, 3, 18}) == 3: return 183
if len(set_ball & {2, 3, 21}) == 3: return 184
if len(set_ball & {2, 3, 28}) == 3: return 185
if len(set_ball & {2, 3, 29}) == 3: return 186
if len(set_ball & {2, 3, 31}) == 3: return 187
if len(set_ball & {2, 3, 32}) == 3: return 188
if len(set_ball & {2, 3, 35}) == 3: return 189
if len(set_ball & {2, 3, 41}) == 3: return 190
if len(set_ball & {2, 3, 45}) == 3: return 191
if len(set_ball & {2, 4, 7}) == 3: return 192
if len(set_ball & {2, 4, 9}) == 3: return 193
if len(set_ball & {2, 4, 10}) == 3: return 194
if len(set_ball & {2, 4, 12}) == 3: return 195
if len(set_ball & {2, 4, 13}) == 3: return 196
if len(set_ball & {2, 4, 14}) == 3: return 197
if len(set_ball & {2, 4, 18}) == 3: return 198
if len(set_ball & {2, 4, 22}) == 3: return 199
if len(set_ball & {2, 4, 40}) == 3: return 200
if len(set_ball & {2, 4, 41}) == 3: return 201
if len(set_ball & {2, 4, 42}) == 3: return 202
if len(set_ball & {2, 4, 45}) == 3: return 203
if len(set_ball & {2, 5, 9}) == 3: return 204
if len(set_ball & {2, 5, 21}) == 3: return 205
if len(set_ball & {2, 5, 25}) == 3: return 206
if len(set_ball & {2, 5, 26}) == 3: return 207
if len(set_ball & {2, 5, 30}) == 3: return 208
if len(set_ball & {2, 5, 35}) == 3: return 209
if len(set_ball & {2, 5, 37}) == 3: return 210
if len(set_ball & {2, 5, 38}) == 3: return 211
if len(set_ball & {2, 5, 41}) == 3: return 212
if len(set_ball & {2, 5, 42}) == 3: return 213
if len(set_ball & {2, 5, 43}) == 3: return 214
if len(set_ball & {2, 6, 10}) == 3: return 215
if len(set_ball & {2, 6, 15}) == 3: return 216
if len(set_ball & {2, 6, 23}) == 3: return 217
if len(set_ball & {2, 6, 24}) == 3: return 218
if len(set_ball & {2, 6, 32}) == 3: return 219
if len(set_ball & {2, 6, 35}) == 3: return 220
if len(set_ball & {2, 6, 38}) == 3: return 221
if len(set_ball & {2, 6, 41}) == 3: return 222
if len(set_ball & {2, 7, 11}) == 3: return 223
if len(set_ball & {2, 7, 23}) == 3: return 224
if len(set_ball & {2, 7, 31}) == 3: return 225
if len(set_ball & {2, 7, 32}) == 3: return 226
if len(set_ball & {2, 7, 35}) == 3: return 227
if len(set_ball & {2, 7, 37}) == 3: return 228
if len(set_ball & {2, 8, 10}) == 3: return 229
if len(set_ball & {2, 8, 12}) == 3: return 230
if len(set_ball & {2, 8, 16}) == 3: return 231
if len(set_ball & {2, 8, 40}) == 3: return 232
if len(set_ball & {2, 9, 11}) == 3: return 233
if len(set_ball & {2, 9, 13}) == 3: return 234
if len(set_ball & {2, 9, 18}) == 3: return 235
if len(set_ball & {2, 9, 20}) == 3: return 236
if len(set_ball & {2, 9, 21}) == 3: return 237
if len(set_ball & {2, 9, 27}) == 3: return 238
if len(set_ball & {2, 9, 29}) == 3: return 239
if len(set_ball & {2, 9, 30}) == 3: return 240
if len(set_ball & {2, 9, 32}) == 3: return 241
if len(set_ball & {2, 9, 36}) == 3: return 242
if len(set_ball & {2, 9, 39}) == 3: return 243
if len(set_ball & {2, 10, 17}) == 3: return 244
if len(set_ball & {2, 10, 20}) == 3: return 245
if len(set_ball & {2, 10, 21}) == 3: return 246
if len(set_ball & {2, 10, 23}) == 3: return 247
if len(set_ball & {2, 10, 24}) == 3: return 248
if len(set_ball & {2, 10, 27}) == 3: return 249
if len(set_ball & {2, 10, 28}) == 3: return 250
if len(set_ball & {2, 10, 30}) == 3: return 251
if len(set_ball & {2, 10, 41}) == 3: return 252
if len(set_ball & {2, 10, 43}) == 3: return 253
if len(set_ball & {2, 11, 20}) == 3: return 254
if len(set_ball & {2, 11, 38}) == 3: return 255
if len(set_ball & {2, 11, 40}) == 3: return 256
if len(set_ball & {2, 12, 13}) == 3: return 257
if len(set_ball & {2, 12, 16}) == 3: return 258
if len(set_ball & {2, 12, 18}) == 3: return 259
if len(set_ball & {2, 12, 25}) == 3: return 260
if len(set_ball & {2, 12, 29}) == 3: return 261
if len(set_ball & {2, 12, 32}) == 3: return 262
if len(set_ball & {2, 12, 35}) == 3: return 263
if len(set_ball & {2, 12, 36}) == 3: return 264
if len(set_ball & {2, 13, 21}) == 3: return 265
if len(set_ball & {2, 13, 23}) == 3: return 266
if len(set_ball & {2, 13, 24}) == 3: return 267
if len(set_ball & {2, 13, 26}) == 3: return 268
if len(set_ball & {2, 13, 35}) == 3: return 269
if len(set_ball & {2, 13, 39}) == 3: return 270
if len(set_ball & {2, 14, 18}) == 3: return 271
if len(set_ball & {2, 14, 19}) == 3: return 272
if len(set_ball & {2, 14, 20}) == 3: return 273
if len(set_ball & {2, 14, 26}) == 3: return 274
if len(set_ball & {2, 14, 34}) == 3: return 275
if len(set_ball & {2, 14, 35}) == 3: return 276
if len(set_ball & {2, 14, 37}) == 3: return 277
if len(set_ball & {2, 14, 43}) == 3: return 278
if len(set_ball & {2, 15, 17}) == 3: return 279
if len(set_ball & {2, 15, 26}) == 3: return 280
if len(set_ball & {2, 15, 32}) == 3: return 281
if len(set_ball & {2, 15, 35}) == 3: return 282
if len(set_ball & {2, 15, 39}) == 3: return 283
if len(set_ball & {2, 16, 18}) == 3: return 284
if len(set_ball & {2, 16, 23}) == 3: return 285
if len(set_ball & {2, 16, 43}) == 3: return 286
if len(set_ball & {2, 17, 23}) == 3: return 287
if len(set_ball & {2, 17, 25}) == 3: return 288
if len(set_ball & {2, 17, 35}) == 3: return 289
if len(set_ball & {2, 17, 44}) == 3: return 290
if len(set_ball & {2, 18, 22}) == 3: return 291
if len(set_ball & {2, 18, 35}) == 3: return 292
if len(set_ball & {2, 18, 41}) == 3: return 293
if len(set_ball & {2, 19, 21}) == 3: return 294
if len(set_ball & {2, 19, 30}) == 3: return 295
if len(set_ball & {2, 19, 40}) == 3: return 296
if len(set_ball & {2, 20, 22}) == 3: return 297
if len(set_ball & {2, 20, 23}) == 3: return 298
if len(set_ball & {2, 20, 26}) == 3: return 299
if len(set_ball & {2, 20, 28}) == 3: return 300
if len(set_ball & {2, 20, 32}) == 3: return 301
if len(set_ball & {2, 20, 36}) == 3: return 302
if len(set_ball & {2, 21, 23}) == 3: return 303
if len(set_ball & {2, 21, 24}) == 3: return 304
if len(set_ball & {2, 21, 31}) == 3: return 305
if len(set_ball & {2, 21, 32}) == 3: return 306
if len(set_ball & {2, 21, 37}) == 3: return 307
if len(set_ball & {2, 21, 40}) == 3: return 308
if len(set_ball & {2, 22, 26}) == 3: return 309
if len(set_ball & {2, 22, 35}) == 3: return 310
if len(set_ball & {2, 22, 43}) == 3: return 311
if len(set_ball & {2, 23, 24}) == 3: return 312
if len(set_ball & {2, 23, 28}) == 3: return 313
if len(set_ball & {2, 23, 30}) == 3: return 314
if len(set_ball & {2, 23, 32}) == 3: return 315
if len(set_ball & {2, 23, 33}) == 3: return 316
if len(set_ball & {2, 23, 35}) == 3: return 317
if len(set_ball & {2, 23, 36}) == 3: return 318
if len(set_ball & {2, 23, 39}) == 3: return 319
if len(set_ball & {2, 23, 42}) == 3: return 320
if len(set_ball & {2, 23, 45}) == 3: return 321
if len(set_ball & {2, 24, 25}) == 3: return 322
if len(set_ball & {2, 24, 26}) == 3: return 323
if len(set_ball & {2, 24, 38}) == 3: return 324
if len(set_ball & {2, 25, 35}) == 3: return 325
if len(set_ball & {2, 26, 28}) == 3: return 326
if len(set_ball & {2, 26, 31}) == 3: return 327
if len(set_ball & {2, 26, 32}) == 3: return 328
if len(set_ball & {2, 26, 35}) == 3: return 329
if len(set_ball & {2, 26, 38}) == 3: return 330
if len(set_ball & {2, 26, 39}) == 3: return 331
if len(set_ball & {2, 26, 41}) == 3: return 332
if len(set_ball & {2, 26, 42}) == 3: return 333
if len(set_ball & {2, 27, 29}) == 3: return 334
if len(set_ball & {2, 27, 31}) == 3: return 335
if len(set_ball & {2, 27, 34}) == 3: return 336
if len(set_ball & {2, 27, 45}) == 3: return 337
if len(set_ball & {2, 28, 40}) == 3: return 338
if len(set_ball & {2, 28, 41}) == 3: return 339
if len(set_ball & {2, 29, 33}) == 3: return 340
if len(set_ball & {2, 29, 35}) == 3: return 341
if len(set_ball & {2, 29, 37}) == 3: return 342
if len(set_ball & {2, 29, 41}) == 3: return 343
if len(set_ball & {2, 29, 42}) == 3: return 344
if len(set_ball & {2, 30, 37}) == 3: return 345
if len(set_ball & {2, 30, 44}) == 3: return 346
if len(set_ball & {2, 31, 36}) == 3: return 347
if len(set_ball & {2, 31, 44}) == 3: return 348
if len(set_ball & {2, 32, 37}) == 3: return 349
if len(set_ball & {2, 32, 38}) == 3: return 350
if len(set_ball & {2, 32, 40}) == 3: return 351
if len(set_ball & {2, 32, 41}) == 3: return 352
if len(set_ball & {2, 33, 38}) == 3: return 353
if len(set_ball & {2, 34, 36}) == 3: return 354
if len(set_ball & {2, 34, 39}) == 3: return 355
if len(set_ball & {2, 35, 38}) == 3: return 356
if len(set_ball & {2, 35, 44}) == 3: return 357
if len(set_ball & {2, 35, 45}) == 3: return 358
if len(set_ball & {2, 36, 38}) == 3: return 359
if len(set_ball & {2, 36, 40}) == 3: return 360
if len(set_ball & {2, 36, 43}) == 3: return 361
if len(set_ball & {2, 36, 44}) == 3: return 362
if len(set_ball & {2, 36, 45}) == 3: return 363
if len(set_ball & {2, 37, 38}) == 3: return 364
if len(set_ball & {2, 37, 42}) == 3: return 365
if len(set_ball & {2, 37, 44}) == 3: return 366
if len(set_ball & {2, 38, 41}) == 3: return 367
if len(set_ball & {2, 38, 43}) == 3: return 368
if len(set_ball & {2, 38, 44}) == 3: return 369
if len(set_ball & {2, 39, 40}) == 3: return 370
if len(set_ball & {2, 40, 45}) == 3: return 371
if len(set_ball & {2, 42, 43}) == 3: return 372
if len(set_ball & {2, 44, 45}) == 3: return 373
if len(set_ball & {3, 4, 8}) == 3: return 374
if len(set_ball & {3, 4, 13}) == 3: return 375
if len(set_ball & {3, 4, 18}) == 3: return 376
if len(set_ball & {3, 4, 21}) == 3: return 377
if len(set_ball & {3, 4, 26}) == 3: return 378
if len(set_ball & {3, 4, 35}) == 3: return 379
if len(set_ball & {3, 4, 39}) == 3: return 380
if len(set_ball & {3, 5, 9}) == 3: return 381
if len(set_ball & {3, 5, 15}) == 3: return 382
if len(set_ball & {3, 5, 16}) == 3: return 383
if len(set_ball & {3, 5, 18}) == 3: return 384
if len(set_ball & {3, 5, 23}) == 3: return 385
if len(set_ball & {3, 5, 25}) == 3: return 386
if len(set_ball & {3, 5, 28}) == 3: return 387
if len(set_ball & {3, 5, 36}) == 3: return 388
if len(set_ball & {3, 5, 40}) == 3: return 389
if len(set_ball & {3, 5, 41}) == 3: return 390
if len(set_ball & {3, 5, 45}) == 3: return 391
if len(set_ball & {3, 6, 8}) == 3: return 392
if len(set_ball & {3, 6, 11}) == 3: return 393
if len(set_ball & {3, 6, 15}) == 3: return 394
if len(set_ball & {3, 6, 16}) == 3: return 395
if len(set_ball & {3, 6, 25}) == 3: return 396
if len(set_ball & {3, 6, 26}) == 3: return 397
if len(set_ball & {3, 6, 29}) == 3: return 398
if len(set_ball & {3, 6, 31}) == 3: return 399
if len(set_ball & {3, 6, 32}) == 3: return 400
if len(set_ball & {3, 6, 33}) == 3: return 401
if len(set_ball & {3, 6, 40}) == 3: return 402
if len(set_ball & {3, 6, 42}) == 3: return 403
if len(set_ball & {3, 6, 43}) == 3: return 404
if len(set_ball & {3, 6, 45}) == 3: return 405
if len(set_ball & {3, 7, 19}) == 3: return 406
if len(set_ball & {3, 7, 28}) == 3: return 407
if len(set_ball & {3, 7, 30}) == 3: return 408
if len(set_ball & {3, 7, 35}) == 3: return 409
if len(set_ball & {3, 7, 45}) == 3: return 410
if len(set_ball & {3, 8, 10}) == 3: return 411
if len(set_ball & {3, 8, 14}) == 3: return 412
if len(set_ball & {3, 8, 25}) == 3: return 413
if len(set_ball & {3, 8, 26}) == 3: return 414
if len(set_ball & {3, 8, 28}) == 3: return 415
if len(set_ball & {3, 8, 33}) == 3: return 416
if len(set_ball & {3, 8, 37}) == 3: return 417
if len(set_ball & {3, 9, 15}) == 3: return 418
if len(set_ball & {3, 9, 16}) == 3: return 419
if len(set_ball & {3, 9, 20}) == 3: return 420
if len(set_ball & {3, 9, 21}) == 3: return 421
if len(set_ball & {3, 9, 26}) == 3: return 422
if len(set_ball & {3, 9, 31}) == 3: return 423
if len(set_ball & {3, 9, 38}) == 3: return 424
if len(set_ball & {3, 9, 39}) == 3: return 425
if len(set_ball & {3, 9, 41}) == 3: return 426
if len(set_ball & {3, 9, 44}) == 3: return 427
if len(set_ball & {3, 10, 12}) == 3: return 428
if len(set_ball & {3, 10, 18}) == 3: return 429
if len(set_ball & {3, 10, 21}) == 3: return 430
if len(set_ball & {3, 10, 41}) == 3: return 431
if len(set_ball & {3, 11, 23}) == 3: return 432
if len(set_ball & {3, 11, 25}) == 3: return 433
if len(set_ball & {3, 11, 28}) == 3: return 434
if len(set_ball & {3, 11, 29}) == 3: return 435
if len(set_ball & {3, 11, 40}) == 3: return 436
if len(set_ball & {3, 12, 17}) == 3: return 437
if len(set_ball & {3, 12, 28}) == 3: return 438
if len(set_ball & {3, 12, 29}) == 3: return 439
if len(set_ball & {3, 12, 37}) == 3: return 440
if len(set_ball & {3, 12, 44}) == 3: return 441
if len(set_ball & {3, 14, 19}) == 3: return 442
if len(set_ball & {3, 14, 29}) == 3: return 443
if len(set_ball & {3, 14, 39}) == 3: return 444
if len(set_ball & {3, 15, 16}) == 3: return 445
if len(set_ball & {3, 15, 17}) == 3: return 446
if len(set_ball & {3, 15, 18}) == 3: return 447
if len(set_ball & {3, 15, 19}) == 3: return 448
if len(set_ball & {3, 15, 21}) == 3: return 449
if len(set_ball & {3, 15, 23}) == 3: return 450
if len(set_ball & {3, 15, 26}) == 3: return 451
if len(set_ball & {3, 15, 31}) == 3: return 452
if len(set_ball & {3, 15, 39}) == 3: return 453
if len(set_ball & {3, 15, 42}) == 3: return 454
if len(set_ball & {3, 16, 25}) == 3: return 455
if len(set_ball & {3, 16, 33}) == 3: return 456
if len(set_ball & {3, 16, 41}) == 3: return 457
if len(set_ball & {3, 16, 42}) == 3: return 458
if len(set_ball & {3, 16, 45}) == 3: return 459
if len(set_ball & {3, 17, 25}) == 3: return 460
if len(set_ball & {3, 17, 26}) == 3: return 461
if len(set_ball & {3, 17, 29}) == 3: return 462
if len(set_ball & {3, 17, 33}) == 3: return 463
if len(set_ball & {3, 17, 40}) == 3: return 464
if len(set_ball & {3, 17, 42}) == 3: return 465
if len(set_ball & {3, 17, 43}) == 3: return 466
if len(set_ball & {3, 18, 21}) == 3: return 467
if len(set_ball & {3, 18, 24}) == 3: return 468
if len(set_ball & {3, 18, 25}) == 3: return 469
if len(set_ball & {3, 18, 38}) == 3: return 470
if len(set_ball & {3, 18, 39}) == 3: return 471
if len(set_ball & {3, 18, 44}) == 3: return 472
if len(set_ball & {3, 19, 26}) == 3: return 473
if len(set_ball & {3, 19, 29}) == 3: return 474
if len(set_ball & {3, 19, 33}) == 3: return 475
if len(set_ball & {3, 19, 34}) == 3: return 476
if len(set_ball & {3, 19, 40}) == 3: return 477
if len(set_ball & {3, 19, 44}) == 3: return 478
if len(set_ball & {3, 20, 29}) == 3: return 479
if len(set_ball & {3, 20, 30}) == 3: return 480
if len(set_ball & {3, 21, 24}) == 3: return 481
if len(set_ball & {3, 21, 27}) == 3: return 482
if len(set_ball & {3, 21, 28}) == 3: return 483
if len(set_ball & {3, 21, 32}) == 3: return 484
if len(set_ball & {3, 21, 34}) == 3: return 485
if len(set_ball & {3, 21, 36}) == 3: return 486
if len(set_ball & {3, 21, 40}) == 3: return 487
if len(set_ball & {3, 21, 43}) == 3: return 488
if len(set_ball & {3, 22, 34}) == 3: return 489
if len(set_ball & {3, 23, 25}) == 3: return 490
if len(set_ball & {3, 23, 30}) == 3: return 491
if len(set_ball & {3, 23, 33}) == 3: return 492
if len(set_ball & {3, 24, 28}) == 3: return 493
if len(set_ball & {3, 24, 40}) == 3: return 494
if len(set_ball & {3, 25, 26}) == 3: return 495
if len(set_ball & {3, 25, 27}) == 3: return 496
if len(set_ball & {3, 25, 28}) == 3: return 497
if len(set_ball & {3, 25, 30}) == 3: return 498
if len(set_ball & {3, 25, 31}) == 3: return 499
if len(set_ball & {3, 25, 34}) == 3: return 500
if len(set_ball & {3, 25, 35}) == 3: return 501
if len(set_ball & {3, 25, 38}) == 3: return 502
if len(set_ball & {3, 25, 39}) == 3: return 503
if len(set_ball & {3, 25, 40}) == 3: return 504
if len(set_ball & {3, 25, 41}) == 3: return 505
if len(set_ball & {3, 25, 42}) == 3: return 506
if len(set_ball & {3, 26, 28}) == 3: return 507
if len(set_ball & {3, 26, 30}) == 3: return 508
if len(set_ball & {3, 26, 32}) == 3: return 509
if len(set_ball & {3, 26, 36}) == 3: return 510
if len(set_ball & {3, 26, 39}) == 3: return 511
if len(set_ball & {3, 26, 40}) == 3: return 512
if len(set_ball & {3, 26, 45}) == 3: return 513
if len(set_ball & {3, 27, 33}) == 3: return 514
if len(set_ball & {3, 27, 34}) == 3: return 515
if len(set_ball & {3, 27, 36}) == 3: return 516
if len(set_ball & {3, 28, 29}) == 3: return 517
if len(set_ball & {3, 28, 31}) == 3: return 518
if len(set_ball & {3, 28, 33}) == 3: return 519
if len(set_ball & {3, 28, 35}) == 3: return 520
if len(set_ball & {3, 28, 36}) == 3: return 521
if len(set_ball & {3, 28, 37}) == 3: return 522
if len(set_ball & {3, 28, 41}) == 3: return 523
if len(set_ball & {3, 29, 30}) == 3: return 524
if len(set_ball & {3, 29, 31}) == 3: return 525
if len(set_ball & {3, 29, 33}) == 3: return 526
if len(set_ball & {3, 29, 34}) == 3: return 527
if len(set_ball & {3, 30, 35}) == 3: return 528
if len(set_ball & {3, 30, 42}) == 3: return 529
if len(set_ball & {3, 30, 44}) == 3: return 530
if len(set_ball & {3, 31, 33}) == 3: return 531
if len(set_ball & {3, 31, 36}) == 3: return 532
if len(set_ball & {3, 31, 45}) == 3: return 533
if len(set_ball & {3, 32, 38}) == 3: return 534
if len(set_ball & {3, 32, 39}) == 3: return 535
if len(set_ball & {3, 33, 40}) == 3: return 536
if len(set_ball & {3, 33, 44}) == 3: return 537
if len(set_ball & {3, 34, 40}) == 3: return 538
if len(set_ball & {3, 35, 38}) == 3: return 539
if len(set_ball & {3, 35, 39}) == 3: return 540
if len(set_ball & {3, 35, 41}) == 3: return 541
if len(set_ball & {3, 35, 42}) == 3: return 542
if len(set_ball & {3, 36, 43}) == 3: return 543
if len(set_ball & {3, 36, 44}) == 3: return 544
if len(set_ball & {3, 37, 40}) == 3: return 545
if len(set_ball & {3, 38, 41}) == 3: return 546
if len(set_ball & {3, 39, 40}) == 3: return 547
if len(set_ball & {3, 44, 45}) == 3: return 548
if len(set_ball & {4, 5, 10}) == 3: return 549
if len(set_ball & {4, 5, 19}) == 3: return 550
if len(set_ball & {4, 5, 28}) == 3: return 551
if len(set_ball & {4, 5, 30}) == 3: return 552
if len(set_ball & {4, 5, 33}) == 3: return 553
if len(set_ball & {4, 5, 34}) == 3: return 554
if len(set_ball & {4, 5, 36}) == 3: return 555
if len(set_ball & {4, 5, 40}) == 3: return 556
if len(set_ball & {4, 5, 44}) == 3: return 557
if len(set_ball & {4, 6, 7}) == 3: return 558
if len(set_ball & {4, 6, 16}) == 3: return 559
if len(set_ball & {4, 6, 18}) == 3: return 560
if len(set_ball & {4, 6, 22}) == 3: return 561
if len(set_ball & {4, 6, 23}) == 3: return 562
if len(set_ball & {4, 6, 24}) == 3: return 563
if len(set_ball & {4, 6, 27}) == 3: return 564
if len(set_ball & {4, 6, 29}) == 3: return 565
if len(set_ball & {4, 6, 34}) == 3: return 566
if len(set_ball & {4, 6, 35}) == 3: return 567
if len(set_ball & {4, 6, 36}) == 3: return 568
if len(set_ball & {4, 6, 38}) == 3: return 569
if len(set_ball & {4, 6, 45}) == 3: return 570
if len(set_ball & {4, 7, 8}) == 3: return 571
if len(set_ball & {4, 7, 9}) == 3: return 572
if len(set_ball & {4, 7, 21}) == 3: return 573
if len(set_ball & {4, 7, 27}) == 3: return 574
if len(set_ball & {4, 7, 28}) == 3: return 575
if len(set_ball & {4, 7, 30}) == 3: return 576
if len(set_ball & {4, 7, 34}) == 3: return 577
if len(set_ball & {4, 7, 36}) == 3: return 578
if len(set_ball & {4, 7, 37}) == 3: return 579
if len(set_ball & {4, 7, 43}) == 3: return 580
if len(set_ball & {4, 8, 12}) == 3: return 581
if len(set_ball & {4, 8, 14}) == 3: return 582
if len(set_ball & {4, 8, 22}) == 3: return 583
if len(set_ball & {4, 8, 26}) == 3: return 584
if len(set_ball & {4, 8, 28}) == 3: return 585
if len(set_ball & {4, 8, 35}) == 3: return 586
if len(set_ball & {4, 9, 12}) == 3: return 587
if len(set_ball & {4, 9, 15}) == 3: return 588
if len(set_ball & {4, 9, 20}) == 3: return 589
if len(set_ball & {4, 9, 35}) == 3: return 590
if len(set_ball & {4, 9, 41}) == 3: return 591
if len(set_ball & {4, 9, 43}) == 3: return 592
if len(set_ball & {4, 10, 39}) == 3: return 593
if len(set_ball & {4, 10, 43}) == 3: return 594
if len(set_ball & {4, 11, 15}) == 3: return 595
if len(set_ball & {4, 11, 16}) == 3: return 596
if len(set_ball & {4, 11, 19}) == 3: return 597
if len(set_ball & {4, 11, 25}) == 3: return 598
if len(set_ball & {4, 11, 30}) == 3: return 599
if len(set_ball & {4, 11, 33}) == 3: return 600
if len(set_ball & {4, 11, 34}) == 3: return 601
if len(set_ball & {4, 11, 36}) == 3: return 602
if len(set_ball & {4, 11, 40}) == 3: return 603
if len(set_ball & {4, 11, 44}) == 3: return 604
if len(set_ball & {4, 12, 13}) == 3: return 605
if len(set_ball & {4, 12, 15}) == 3: return 606
if len(set_ball & {4, 12, 17}) == 3: return 607
if len(set_ball & {4, 12, 19}) == 3: return 608
if len(set_ball & {4, 12, 21}) == 3: return 609
if len(set_ball & {4, 12, 26}) == 3: return 610
if len(set_ball & {4, 12, 29}) == 3: return 611
if len(set_ball & {4, 12, 30}) == 3: return 612
if len(set_ball & {4, 12, 31}) == 3: return 613
if len(set_ball & {4, 12, 36}) == 3: return 614
if len(set_ball & {4, 12, 39}) == 3: return 615
if len(set_ball & {4, 12, 40}) == 3: return 616
if len(set_ball & {4, 12, 44}) == 3: return 617
if len(set_ball & {4, 13, 15}) == 3: return 618
if len(set_ball & {4, 13, 16}) == 3: return 619
if len(set_ball & {4, 13, 24}) == 3: return 620
if len(set_ball & {4, 13, 25}) == 3: return 621
if len(set_ball & {4, 13, 30}) == 3: return 622
if len(set_ball & {4, 13, 35}) == 3: return 623
if len(set_ball & {4, 14, 17}) == 3: return 624
if len(set_ball & {4, 14, 27}) == 3: return 625
if len(set_ball & {4, 14, 30}) == 3: return 626
if len(set_ball & {4, 14, 34}) == 3: return 627
if len(set_ball & {4, 14, 36}) == 3: return 628
if len(set_ball & {4, 14, 38}) == 3: return 629
if len(set_ball & {4, 14, 39}) == 3: return 630
if len(set_ball & {4, 15, 19}) == 3: return 631
if len(set_ball & {4, 15, 30}) == 3: return 632
if len(set_ball & {4, 15, 32}) == 3: return 633
if len(set_ball & {4, 15, 44}) == 3: return 634
if len(set_ball & {4, 15, 45}) == 3: return 635
if len(set_ball & {4, 16, 32}) == 3: return 636
if len(set_ball & {4, 16, 45}) == 3: return 637
if len(set_ball & {4, 17, 21}) == 3: return 638
if len(set_ball & {4, 17, 23}) == 3: return 639
if len(set_ball & {4, 17, 24}) == 3: return 640
if len(set_ball & {4, 17, 25}) == 3: return 641
if len(set_ball & {4, 17, 29}) == 3: return 642
if len(set_ball & {4, 17, 35}) == 3: return 643
if len(set_ball & {4, 17, 41}) == 3: return 644
if len(set_ball & {4, 17, 45}) == 3: return 645
if len(set_ball & {4, 18, 28}) == 3: return 646
if len(set_ball & {4, 18, 35}) == 3: return 647
if len(set_ball & {4, 18, 36}) == 3: return 648
if len(set_ball & {4, 19, 23}) == 3: return 649
if len(set_ball & {4, 19, 28}) == 3: return 650
if len(set_ball & {4, 19, 36}) == 3: return 651
if len(set_ball & {4, 19, 37}) == 3: return 652
if len(set_ball & {4, 20, 42}) == 3: return 653
if len(set_ball & {4, 21, 27}) == 3: return 654
if len(set_ball & {4, 21, 28}) == 3: return 655
if len(set_ball & {4, 21, 30}) == 3: return 656
if len(set_ball & {4, 21, 31}) == 3: return 657
if len(set_ball & {4, 21, 35}) == 3: return 658
if len(set_ball & {4, 22, 23}) == 3: return 659
if len(set_ball & {4, 22, 25}) == 3: return 660
if len(set_ball & {4, 22, 26}) == 3: return 661
if len(set_ball & {4, 22, 29}) == 3: return 662
if len(set_ball & {4, 22, 30}) == 3: return 663
if len(set_ball & {4, 22, 31}) == 3: return 664
if len(set_ball & {4, 22, 32}) == 3: return 665
if len(set_ball & {4, 22, 35}) == 3: return 666
if len(set_ball & {4, 22, 36}) == 3: return 667
if len(set_ball & {4, 22, 39}) == 3: return 668
if len(set_ball & {4, 22, 45}) == 3: return 669
if len(set_ball & {4, 23, 24}) == 3: return 670
if len(set_ball & {4, 23, 27}) == 3: return 671
if len(set_ball & {4, 23, 36}) == 3: return 672
if len(set_ball & {4, 24, 29}) == 3: return 673
if len(set_ball & {4, 24, 30}) == 3: return 674
if len(set_ball & {4, 24, 31}) == 3: return 675
if len(set_ball & {4, 24, 39}) == 3: return 676
if len(set_ball & {4, 24, 43}) == 3: return 677
if len(set_ball & {4, 25, 28}) == 3: return 678
if len(set_ball & {4, 25, 30}) == 3: return 679
if len(set_ball & {4, 25, 38}) == 3: return 680
if len(set_ball & {4, 25, 39}) == 3: return 681
if len(set_ball & {4, 25, 44}) == 3: return 682
if len(set_ball & {4, 26, 39}) == 3: return 683
if len(set_ball & {4, 26, 45}) == 3: return 684
if len(set_ball & {4, 27, 29}) == 3: return 685
if len(set_ball & {4, 27, 31}) == 3: return 686
if len(set_ball & {4, 27, 33}) == 3: return 687
if len(set_ball & {4, 27, 36}) == 3: return 688
if len(set_ball & {4, 28, 41}) == 3: return 689
if len(set_ball & {4, 29, 30}) == 3: return 690
if len(set_ball & {4, 29, 44}) == 3: return 691
if len(set_ball & {4, 30, 38}) == 3: return 692
if len(set_ball & {4, 30, 39}) == 3: return 693
if len(set_ball & {4, 30, 44}) == 3: return 694
if len(set_ball & {4, 30, 45}) == 3: return 695
if len(set_ball & {4, 31, 32}) == 3: return 696
if len(set_ball & {4, 31, 38}) == 3: return 697
if len(set_ball & {4, 32, 35}) == 3: return 698
if len(set_ball & {4, 32, 45}) == 3: return 699
if len(set_ball & {4, 34, 36}) == 3: return 700
if len(set_ball & {4, 34, 42}) == 3: return 701
if len(set_ball & {4, 34, 45}) == 3: return 702
if len(set_ball & {4, 35, 38}) == 3: return 703
if len(set_ball & {4, 35, 39}) == 3: return 704
if len(set_ball & {4, 35, 41}) == 3: return 705
if len(set_ball & {4, 35, 44}) == 3: return 706
if len(set_ball & {4, 36, 38}) == 3: return 707
if len(set_ball & {4, 36, 42}) == 3: return 708
if len(set_ball & {4, 36, 44}) == 3: return 709
if len(set_ball & {4, 37, 44}) == 3: return 710
if len(set_ball & {4, 38, 42}) == 3: return 711
if len(set_ball & {4, 40, 44}) == 3: return 712
if len(set_ball & {4, 41, 44}) == 3: return 713
if len(set_ball & {4, 42, 44}) == 3: return 714
if len(set_ball & {4, 44, 45}) == 3: return 715
if len(set_ball & {5, 6, 7}) == 3: return 716
if len(set_ball & {5, 6, 10}) == 3: return 717
if len(set_ball & {5, 6, 23}) == 3: return 718
if len(set_ball & {5, 6, 30}) == 3: return 719
if len(set_ball & {5, 6, 33}) == 3: return 720
if len(set_ball & {5, 6, 34}) == 3: return 721
if len(set_ball & {5, 6, 35}) == 3: return 722
if len(set_ball & {5, 6, 36}) == 3: return 723
if len(set_ball & {5, 6, 40}) == 3: return 724
if len(set_ball & {5, 7, 10}) == 3: return 725
if len(set_ball & {5, 7, 17}) == 3: return 726
if len(set_ball & {5, 7, 19}) == 3: return 727
if len(set_ball & {5, 7, 23}) == 3: return 728
if len(set_ball & {5, 7, 24}) == 3: return 729
if len(set_ball & {5, 7, 27}) == 3: return 730
if len(set_ball & {5, 7, 31}) == 3: return 731
if len(set_ball & {5, 7, 36}) == 3: return 732
if len(set_ball & {5, 7, 38}) == 3: return 733
if len(set_ball & {5, 8, 9}) == 3: return 734
if len(set_ball & {5, 8, 10}) == 3: return 735
if len(set_ball & {5, 8, 12}) == 3: return 736
if len(set_ball & {5, 8, 13}) == 3: return 737
if len(set_ball & {5, 8, 20}) == 3: return 738
if len(set_ball & {5, 8, 24}) == 3: return 739
if len(set_ball & {5, 8, 25}) == 3: return 740
if len(set_ball & {5, 8, 31}) == 3: return 741
if len(set_ball & {5, 8, 32}) == 3: return 742
if len(set_ball & {5, 8, 34}) == 3: return 743
if len(set_ball & {5, 8, 36}) == 3: return 744
if len(set_ball & {5, 8, 37}) == 3: return 745
if len(set_ball & {5, 8, 40}) == 3: return 746
if len(set_ball & {5, 8, 41}) == 3: return 747
if len(set_ball & {5, 8, 45}) == 3: return 748
if len(set_ball & {5, 9, 10}) == 3: return 749
if len(set_ball & {5, 9, 18}) == 3: return 750
if len(set_ball & {5, 9, 24}) == 3: return 751
if len(set_ball & {5, 9, 28}) == 3: return 752
if len(set_ball & {5, 9, 33}) == 3: return 753
if len(set_ball & {5, 9, 42}) == 3: return 754
if len(set_ball & {5, 9, 44}) == 3: return 755
if len(set_ball & {5, 10, 11}) == 3: return 756
if len(set_ball & {5, 10, 14}) == 3: return 757
if len(set_ball & {5, 10, 15}) == 3: return 758
if len(set_ball & {5, 10, 23}) == 3: return 759
if len(set_ball & {5, 10, 25}) == 3: return 760
if len(set_ball & {5, 10, 26}) == 3: return 761
if len(set_ball & {5, 10, 28}) == 3: return 762
if len(set_ball & {5, 10, 33}) == 3: return 763
if len(set_ball & {5, 10, 38}) == 3: return 764
if len(set_ball & {5, 10, 40}) == 3: return 765
if len(set_ball & {5, 10, 42}) == 3: return 766
if len(set_ball & {5, 11, 25}) == 3: return 767
if len(set_ball & {5, 11, 28}) == 3: return 768
if len(set_ball & {5, 11, 40}) == 3: return 769
if len(set_ball & {5, 12, 15}) == 3: return 770
if len(set_ball & {5, 12, 36}) == 3: return 771
if len(set_ball & {5, 12, 40}) == 3: return 772
if len(set_ball & {5, 13, 15}) == 3: return 773
if len(set_ball & {5, 13, 30}) == 3: return 774
if len(set_ball & {5, 13, 38}) == 3: return 775
if len(set_ball & {5, 15, 17}) == 3: return 776
if len(set_ball & {5, 15, 24}) == 3: return 777
if len(set_ball & {5, 15, 28}) == 3: return 778
if len(set_ball & {5, 15, 29}) == 3: return 779
if len(set_ball & {5, 15, 32}) == 3: return 780
if len(set_ball & {5, 15, 33}) == 3: return 781
if len(set_ball & {5, 15, 38}) == 3: return 782
if len(set_ball & {5, 15, 40}) == 3: return 783
if len(set_ball & {5, 15, 41}) == 3: return 784
if len(set_ball & {5, 15, 44}) == 3: return 785
if len(set_ball & {5, 16, 19}) == 3: return 786
if len(set_ball & {5, 16, 25}) == 3: return 787
if len(set_ball & {5, 16, 33}) == 3: return 788
if len(set_ball & {5, 16, 36}) == 3: return 789
if len(set_ball & {5, 16, 39}) == 3: return 790
if len(set_ball & {5, 16, 43}) == 3: return 791
if len(set_ball & {5, 16, 44}) == 3: return 792
if len(set_ball & {5, 17, 19}) == 3: return 793
if len(set_ball & {5, 17, 37}) == 3: return 794
if len(set_ball & {5, 17, 45}) == 3: return 795
if len(set_ball & {5, 18, 24}) == 3: return 796
if len(set_ball & {5, 18, 26}) == 3: return 797
if len(set_ball & {5, 18, 27}) == 3: return 798
if len(set_ball & {5, 18, 29}) == 3: return 799
if len(set_ball & {5, 18, 39}) == 3: return 800
if len(set_ball & {5, 18, 44}) == 3: return 801
if len(set_ball & {5, 19, 29}) == 3: return 802
if len(set_ball & {5, 19, 32}) == 3: return 803
if len(set_ball & {5, 19, 33}) == 3: return 804
if len(set_ball & {5, 19, 35}) == 3: return 805
if len(set_ball & {5, 19, 37}) == 3: return 806
if len(set_ball & {5, 19, 40}) == 3: return 807
if len(set_ball & {5, 20, 29}) == 3: return 808
if len(set_ball & {5, 20, 32}) == 3: return 809
if len(set_ball & {5, 20, 38}) == 3: return 810
if len(set_ball & {5, 21, 28}) == 3: return 811
if len(set_ball & {5, 21, 31}) == 3: return 812
if len(set_ball & {5, 21, 32}) == 3: return 813
if len(set_ball & {5, 22, 24}) == 3: return 814
if len(set_ball & {5, 22, 27}) == 3: return 815
if len(set_ball & {5, 22, 30}) == 3: return 816
if len(set_ball & {5, 22, 40}) == 3: return 817
if len(set_ball & {5, 23, 29}) == 3: return 818
if len(set_ball & {5, 23, 31}) == 3: return 819
if len(set_ball & {5, 23, 32}) == 3: return 820
if len(set_ball & {5, 23, 37}) == 3: return 821
if len(set_ball & {5, 23, 39}) == 3: return 822
if len(set_ball & {5, 23, 41}) == 3: return 823
if len(set_ball & {5, 23, 42}) == 3: return 824
if len(set_ball & {5, 23, 44}) == 3: return 825
if len(set_ball & {5, 24, 26}) == 3: return 826
if len(set_ball & {5, 24, 28}) == 3: return 827
if len(set_ball & {5, 24, 31}) == 3: return 828
if len(set_ball & {5, 24, 36}) == 3: return 829
if len(set_ball & {5, 24, 38}) == 3: return 830
if len(set_ball & {5, 24, 41}) == 3: return 831
if len(set_ball & {5, 24, 43}) == 3: return 832
if len(set_ball & {5, 24, 45}) == 3: return 833
if len(set_ball & {5, 25, 33}) == 3: return 834
if len(set_ball & {5, 25, 35}) == 3: return 835
if len(set_ball & {5, 25, 42}) == 3: return 836
if len(set_ball & {5, 26, 28}) == 3: return 837
if len(set_ball & {5, 26, 32}) == 3: return 838
if len(set_ball & {5, 26, 33}) == 3: return 839
if len(set_ball & {5, 26, 36}) == 3: return 840
if len(set_ball & {5, 26, 37}) == 3: return 841
if len(set_ball & {5, 26, 40}) == 3: return 842
if len(set_ball & {5, 28, 35}) == 3: return 843
if len(set_ball & {5, 28, 38}) == 3: return 844
if len(set_ball & {5, 28, 40}) == 3: return 845
if len(set_ball & {5, 29, 38}) == 3: return 846
if len(set_ball & {5, 30, 32}) == 3: return 847
if len(set_ball & {5, 30, 37}) == 3: return 848
if len(set_ball & {5, 30, 40}) == 3: return 849
if len(set_ball & {5, 31, 33}) == 3: return 850
if len(set_ball & {5, 31, 37}) == 3: return 851
if len(set_ball & {5, 31, 38}) == 3: return 852
if len(set_ball & {5, 32, 36}) == 3: return 853
if len(set_ball & {5, 32, 38}) == 3: return 854
if len(set_ball & {5, 33, 34}) == 3: return 855
if len(set_ball & {5, 33, 35}) == 3: return 856
if len(set_ball & {5, 33, 36}) == 3: return 857
if len(set_ball & {5, 33, 37}) == 3: return 858
if len(set_ball & {5, 33, 41}) == 3: return 859
if len(set_ball & {5, 33, 43}) == 3: return 860
if len(set_ball & {5, 33, 45}) == 3: return 861
if len(set_ball & {5, 35, 36}) == 3: return 862
if len(set_ball & {5, 35, 37}) == 3: return 863
if len(set_ball & {5, 35, 39}) == 3: return 864
if len(set_ball & {5, 35, 41}) == 3: return 865
if len(set_ball & {5, 36, 37}) == 3: return 866
if len(set_ball & {5, 36, 38}) == 3: return 867
if len(set_ball & {5, 36, 39}) == 3: return 868
if len(set_ball & {5, 36, 40}) == 3: return 869
if len(set_ball & {5, 36, 41}) == 3: return 870
if len(set_ball & {5, 36, 45}) == 3: return 871
if len(set_ball & {5, 37, 43}) == 3: return 872
if len(set_ball & {5, 37, 44}) == 3: return 873
if len(set_ball & {5, 38, 40}) == 3: return 874
if len(set_ball & {5, 38, 43}) == 3: return 875
if len(set_ball & {5, 39, 41}) == 3: return 876
if len(set_ball & {5, 39, 42}) == 3: return 877
if len(set_ball & {5, 39, 44}) == 3: return 878
if len(set_ball & {5, 40, 42}) == 3: return 879
if len(set_ball & {5, 40, 43}) == 3: return 880
if len(set_ball & {5, 40, 44}) == 3: return 881
if len(set_ball & {5, 41, 42}) == 3: return 882
if len(set_ball & {5, 41, 44}) == 3: return 883
if len(set_ball & {5, 43, 44}) == 3: return 884
if len(set_ball & {6, 7, 8}) == 3: return 885
if len(set_ball & {6, 7, 23}) == 3: return 886
if len(set_ball & {6, 7, 27}) == 3: return 887
if len(set_ball & {6, 7, 29}) == 3: return 888
if len(set_ball & {6, 8, 9}) == 3: return 889
if len(set_ball & {6, 8, 10}) == 3: return 890
if len(set_ball & {6, 8, 12}) == 3: return 891
if len(set_ball & {6, 8, 15}) == 3: return 892
if len(set_ball & {6, 8, 19}) == 3: return 893
if len(set_ball & {6, 8, 20}) == 3: return 894
if len(set_ball & {6, 8, 24}) == 3: return 895
if len(set_ball & {6, 8, 25}) == 3: return 896
if len(set_ball & {6, 8, 27}) == 3: return 897
if len(set_ball & {6, 8, 29}) == 3: return 898
if len(set_ball & {6, 8, 32}) == 3: return 899
if len(set_ball & {6, 8, 34}) == 3: return 900
if len(set_ball & {6, 8, 41}) == 3: return 901
if len(set_ball & {6, 8, 44}) == 3: return 902
if len(set_ball & {6, 9, 12}) == 3: return 903
if len(set_ball & {6, 9, 13}) == 3: return 904
if len(set_ball & {6, 9, 14}) == 3: return 905
if len(set_ball & {6, 9, 20}) == 3: return 906
if len(set_ball & {6, 9, 26}) == 3: return 907
if len(set_ball & {6, 9, 27}) == 3: return 908
if len(set_ball & {6, 9, 29}) == 3: return 909
if len(set_ball & {6, 9, 34}) == 3: return 910
if len(set_ball & {6, 9, 36}) == 3: return 911
if len(set_ball & {6, 9, 38}) == 3: return 912
if len(set_ball & {6, 9, 42}) == 3: return 913
if len(set_ball & {6, 9, 43}) == 3: return 914
if len(set_ball & {6, 9, 44}) == 3: return 915
if len(set_ball & {6, 9, 45}) == 3: return 916
if len(set_ball & {6, 10, 13}) == 3: return 917
if len(set_ball & {6, 10, 23}) == 3: return 918
if len(set_ball & {6, 10, 24}) == 3: return 919
if len(set_ball & {6, 10, 27}) == 3: return 920
if len(set_ball & {6, 10, 33}) == 3: return 921
if len(set_ball & {6, 10, 45}) == 3: return 922
if len(set_ball & {6, 11, 12}) == 3: return 923
if len(set_ball & {6, 11, 35}) == 3: return 924
if len(set_ball & {6, 12, 16}) == 3: return 925
if len(set_ball & {6, 13, 18}) == 3: return 926
if len(set_ball & {6, 13, 19}) == 3: return 927
if len(set_ball & {6, 13, 26}) == 3: return 928
if len(set_ball & {6, 13, 33}) == 3: return 929
if len(set_ball & {6, 13, 34}) == 3: return 930
if len(set_ball & {6, 13, 45}) == 3: return 931
if len(set_ball & {6, 14, 29}) == 3: return 932
if len(set_ball & {6, 14, 32}) == 3: return 933
if len(set_ball & {6, 14, 33}) == 3: return 934
if len(set_ball & {6, 14, 45}) == 3: return 935
if len(set_ball & {6, 15, 27}) == 3: return 936
if len(set_ball & {6, 15, 29}) == 3: return 937
if len(set_ball & {6, 15, 45}) == 3: return 938
if len(set_ball & {6, 16, 22}) == 3: return 939
if len(set_ball & {6, 16, 26}) == 3: return 940
if len(set_ball & {6, 16, 35}) == 3: return 941
if len(set_ball & {6, 16, 36}) == 3: return 942
if len(set_ball & {6, 16, 44}) == 3: return 943
if len(set_ball & {6, 17, 24}) == 3: return 944
if len(set_ball & {6, 17, 25}) == 3: return 945
if len(set_ball & {6, 17, 36}) == 3: return 946
if len(set_ball & {6, 17, 41}) == 3: return 947
if len(set_ball & {6, 17, 42}) == 3: return 948
if len(set_ball & {6, 18, 20}) == 3: return 949
if len(set_ball & {6, 18, 23}) == 3: return 950
if len(set_ball & {6, 18, 27}) == 3: return 951
if len(set_ball & {6, 18, 41}) == 3: return 952
if len(set_ball & {6, 18, 44}) == 3: return 953
if len(set_ball & {6, 19, 22}) == 3: return 954
if len(set_ball & {6, 19, 27}) == 3: return 955
if len(set_ball & {6, 19, 29}) == 3: return 956
if len(set_ball & {6, 19, 37}) == 3: return 957
if len(set_ball & {6, 20, 22}) == 3: return 958
if len(set_ball & {6, 20, 25}) == 3: return 959
if len(set_ball & {6, 20, 34}) == 3: return 960
if len(set_ball & {6, 20, 35}) == 3: return 961
if len(set_ball & {6, 20, 43}) == 3: return 962
if len(set_ball & {6, 20, 45}) == 3: return 963
if len(set_ball & {6, 21, 24}) == 3: return 964
if len(set_ball & {6, 21, 25}) == 3: return 965
if len(set_ball & {6, 21, 28}) == 3: return 966
if len(set_ball & {6, 21, 44}) == 3: return 967
if len(set_ball & {6, 22, 27}) == 3: return 968
if len(set_ball & {6, 22, 33}) == 3: return 969
if len(set_ball & {6, 22, 42}) == 3: return 970
if len(set_ball & {6, 23, 26}) == 3: return 971
if len(set_ball & {6, 23, 27}) == 3: return 972
if len(set_ball & {6, 23, 29}) == 3: return 973
if len(set_ball & {6, 23, 33}) == 3: return 974
if len(set_ball & {6, 23, 41}) == 3: return 975
if len(set_ball & {6, 23, 43}) == 3: return 976
if len(set_ball & {6, 23, 44}) == 3: return 977
if len(set_ball & {6, 23, 45}) == 3: return 978
if len(set_ball & {6, 24, 26}) == 3: return 979
if len(set_ball & {6, 24, 29}) == 3: return 980
if len(set_ball & {6, 24, 31}) == 3: return 981
if len(set_ball & {6, 24, 33}) == 3: return 982
if len(set_ball & {6, 24, 43}) == 3: return 983
if len(set_ball & {6, 24, 45}) == 3: return 984
if len(set_ball & {6, 25, 27}) == 3: return 985
if len(set_ball & {6, 25, 29}) == 3: return 986
if len(set_ball & {6, 25, 30}) == 3: return 987
if len(set_ball & {6, 25, 36}) == 3: return 988
if len(set_ball & {6, 25, 39}) == 3: return 989
if len(set_ball & {6, 25, 41}) == 3: return 990
if len(set_ball & {6, 25, 42}) == 3: return 991
if len(set_ball & {6, 25, 45}) == 3: return 992
if len(set_ball & {6, 26, 31}) == 3: return 993
if len(set_ball & {6, 26, 32}) == 3: return 994
if len(set_ball & {6, 26, 35}) == 3: return 995
if len(set_ball & {6, 26, 42}) == 3: return 996
if len(set_ball & {6, 27, 29}) == 3: return 997
if len(set_ball & {6, 27, 30}) == 3: return 998
if len(set_ball & {6, 27, 33}) == 3: return 999
if len(set_ball & {6, 27, 34}) == 3: return 1000
if len(set_ball & {6, 27, 36}) == 3: return 1001
if len(set_ball & {6, 27, 45}) == 3: return 1002
if len(set_ball & {6, 28, 29}) == 3: return 1003
if len(set_ball & {6, 28, 31}) == 3: return 1004
if len(set_ball & {6, 28, 37}) == 3: return 1005
if len(set_ball & {6, 28, 43}) == 3: return 1006
if len(set_ball & {6, 29, 31}) == 3: return 1007
if len(set_ball & {6, 29, 32}) == 3: return 1008
if len(set_ball & {6, 29, 33}) == 3: return 1009
if len(set_ball & {6, 29, 34}) == 3: return 1010
if len(set_ball & {6, 29, 35}) == 3: return 1011
if len(set_ball & {6, 29, 40}) == 3: return 1012
if len(set_ball & {6, 29, 44}) == 3: return 1013
if len(set_ball & {6, 30, 33}) == 3: return 1014
if len(set_ball & {6, 30, 36}) == 3: return 1015
if len(set_ball & {6, 30, 42}) == 3: return 1016
if len(set_ball & {6, 30, 44}) == 3: return 1017
if len(set_ball & {6, 30, 45}) == 3: return 1018
if len(set_ball & {6, 31, 42}) == 3: return 1019
if len(set_ball & {6, 32, 33}) == 3: return 1020
if len(set_ball & {6, 32, 41}) == 3: return 1021
if len(set_ball & {6, 32, 42}) == 3: return 1022
if len(set_ball & {6, 32, 43}) == 3: return 1023
if len(set_ball & {6, 32, 45}) == 3: return 1024
if len(set_ball & {6, 33, 35}) == 3: return 1025
if len(set_ball & {6, 33, 36}) == 3: return 1026
if len(set_ball & {6, 33, 37}) == 3: return 1027
if len(set_ball & {6, 33, 41}) == 3: return 1028
if len(set_ball & {6, 33, 42}) == 3: return 1029
if len(set_ball & {6, 33, 43}) == 3: return 1030
if len(set_ball & {6, 33, 45}) == 3: return 1031
if len(set_ball & {6, 34, 36}) == 3: return 1032
if len(set_ball & {6, 34, 43}) == 3: return 1033
if len(set_ball & {6, 36, 40}) == 3: return 1034
if len(set_ball & {6, 37, 42}) == 3: return 1035
if len(set_ball & {6, 37, 44}) == 3: return 1036
if len(set_ball & {6, 38, 42}) == 3: return 1037
if len(set_ball & {6, 39, 42}) == 3: return 1038
if len(set_ball & {6, 40, 44}) == 3: return 1039
if len(set_ball & {6, 41, 42}) == 3: return 1040
if len(set_ball & {6, 41, 44}) == 3: return 1041
if len(set_ball & {6, 44, 45}) == 3: return 1042
if len(set_ball & {7, 8, 12}) == 3: return 1043
if len(set_ball & {7, 8, 25}) == 3: return 1044
if len(set_ball & {7, 8, 26}) == 3: return 1045
if len(set_ball & {7, 8, 28}) == 3: return 1046
if len(set_ball & {7, 8, 35}) == 3: return 1047
if len(set_ball & {7, 8, 40}) == 3: return 1048
if len(set_ball & {7, 9, 16}) == 3: return 1049
if len(set_ball & {7, 9, 21}) == 3: return 1050
if len(set_ball & {7, 9, 30}) == 3: return 1051
if len(set_ball & {7, 9, 40}) == 3: return 1052
if len(set_ball & {7, 9, 41}) == 3: return 1053
if len(set_ball & {7, 9, 44}) == 3: return 1054
if len(set_ball & {7, 9, 45}) == 3: return 1055
if len(set_ball & {7, 10, 11}) == 3: return 1056
if len(set_ball & {7, 10, 14}) == 3: return 1057
if len(set_ball & {7, 10, 18}) == 3: return 1058
if len(set_ball & {7, 10, 20}) == 3: return 1059
if len(set_ball & {7, 10, 24}) == 3: return 1060
if len(set_ball & {7, 10, 27}) == 3: return 1061
if len(set_ball & {7, 10, 30}) == 3: return 1062
if len(set_ball & {7, 10, 32}) == 3: return 1063
if len(set_ball & {7, 10, 37}) == 3: return 1064
if len(set_ball & {7, 10, 39}) == 3: return 1065
if len(set_ball & {7, 10, 43}) == 3: return 1066
if len(set_ball & {7, 10, 45}) == 3: return 1067
if len(set_ball & {7, 11, 14}) == 3: return 1068
if len(set_ball & {7, 11, 15}) == 3: return 1069
if len(set_ball & {7, 11, 19}) == 3: return 1070
if len(set_ball & {7, 11, 25}) == 3: return 1071
if len(set_ball & {7, 11, 30}) == 3: return 1072
if len(set_ball & {7, 11, 34}) == 3: return 1073
if len(set_ball & {7, 11, 36}) == 3: return 1074
if len(set_ball & {7, 11, 39}) == 3: return 1075
if len(set_ball & {7, 11, 40}) == 3: return 1076
if len(set_ball & {7, 12, 17}) == 3: return 1077
if len(set_ball & {7, 12, 20}) == 3: return 1078
if len(set_ball & {7, 12, 30}) == 3: return 1079
if len(set_ball & {7, 12, 44}) == 3: return 1080
if len(set_ball & {7, 13, 14}) == 3: return 1081
if len(set_ball & {7, 13, 22}) == 3: return 1082
if len(set_ball & {7, 13, 23}) == 3: return 1083
if len(set_ball & {7, 13, 32}) == 3: return 1084
if len(set_ball & {7, 13, 34}) == 3: return 1085
if len(set_ball & {7, 14, 18}) == 3: return 1086
if len(set_ball & {7, 14, 19}) == 3: return 1087
if len(set_ball & {7, 14, 21}) == 3: return 1088
if len(set_ball & {7, 14, 25}) == 3: return 1089
if len(set_ball & {7, 14, 27}) == 3: return 1090
if len(set_ball & {7, 14, 29}) == 3: return 1091
if len(set_ball & {7, 14, 30}) == 3: return 1092
if len(set_ball & {7, 14, 41}) == 3: return 1093
if len(set_ball & {7, 14, 43}) == 3: return 1094
if len(set_ball & {7, 14, 45}) == 3: return 1095
if len(set_ball & {7, 15, 17}) == 3: return 1096
if len(set_ball & {7, 15, 29}) == 3: return 1097
if len(set_ball & {7, 15, 35}) == 3: return 1098
if len(set_ball & {7, 15, 41}) == 3: return 1099
if len(set_ball & {7, 16, 22}) == 3: return 1100
if len(set_ball & {7, 16, 30}) == 3: return 1101
if len(set_ball & {7, 16, 32}) == 3: return 1102
if len(set_ball & {7, 16, 39}) == 3: return 1103
if len(set_ball & {7, 16, 43}) == 3: return 1104
if len(set_ball & {7, 17, 21}) == 3: return 1105
if len(set_ball & {7, 17, 25}) == 3: return 1106
if len(set_ball & {7, 17, 27}) == 3: return 1107
if len(set_ball & {7, 17, 31}) == 3: return 1108
if len(set_ball & {7, 17, 34}) == 3: return 1109
if len(set_ball & {7, 17, 37}) == 3: return 1110
if len(set_ball & {7, 17, 41}) == 3: return 1111
if len(set_ball & {7, 17, 42}) == 3: return 1112
if len(set_ball & {7, 17, 43}) == 3: return 1113
if len(set_ball & {7, 19, 20}) == 3: return 1114
if len(set_ball & {7, 19, 34}) == 3: return 1115
if len(set_ball & {7, 21, 22}) == 3: return 1116
if len(set_ball & {7, 21, 25}) == 3: return 1117
if len(set_ball & {7, 21, 26}) == 3: return 1118
if len(set_ball & {7, 21, 28}) == 3: return 1119
if len(set_ball & {7, 21, 37}) == 3: return 1120
if len(set_ball & {7, 21, 40}) == 3: return 1121
if len(set_ball & {7, 21, 42}) == 3: return 1122
if len(set_ball & {7, 21, 45}) == 3: return 1123
if len(set_ball & {7, 22, 30}) == 3: return 1124
if len(set_ball & {7, 22, 45}) == 3: return 1125
if len(set_ball & {7, 23, 25}) == 3: return 1126
if len(set_ball & {7, 23, 30}) == 3: return 1127
if len(set_ball & {7, 23, 31}) == 3: return 1128
if len(set_ball & {7, 23, 38}) == 3: return 1129
if len(set_ball & {7, 23, 40}) == 3: return 1130
if len(set_ball & {7, 23, 41}) == 3: return 1131
if len(set_ball & {7, 24, 26}) == 3: return 1132
if len(set_ball & {7, 24, 32}) == 3: return 1133
if len(set_ball & {7, 25, 27}) == 3: return 1134
if len(set_ball & {7, 25, 30}) == 3: return 1135
if len(set_ball & {7, 25, 31}) == 3: return 1136
if len(set_ball & {7, 25, 32}) == 3: return 1137
if len(set_ball & {7, 25, 41}) == 3: return 1138
if len(set_ball & {7, 26, 31}) == 3: return 1139
if len(set_ball & {7, 26, 32}) == 3: return 1140
if len(set_ball & {7, 26, 41}) == 3: return 1141
if len(set_ball & {7, 27, 28}) == 3: return 1142
if len(set_ball & {7, 27, 31}) == 3: return 1143
if len(set_ball & {7, 27, 32}) == 3: return 1144
if len(set_ball & {7, 27, 34}) == 3: return 1145
if len(set_ball & {7, 28, 31}) == 3: return 1146
if len(set_ball & {7, 28, 32}) == 3: return 1147
if len(set_ball & {7, 28, 34}) == 3: return 1148
if len(set_ball & {7, 29, 37}) == 3: return 1149
if len(set_ball & {7, 29, 41}) == 3: return 1150
if len(set_ball & {7, 29, 45}) == 3: return 1151
if len(set_ball & {7, 30, 31}) == 3: return 1152
if len(set_ball & {7, 30, 32}) == 3: return 1153
if len(set_ball & {7, 30, 42}) == 3: return 1154
if len(set_ball & {7, 31, 32}) == 3: return 1155
if len(set_ball & {7, 31, 42}) == 3: return 1156
if len(set_ball & {7, 31, 43}) == 3: return 1157
if len(set_ball & {7, 31, 44}) == 3: return 1158
if len(set_ball & {7, 31, 45}) == 3: return 1159
if len(set_ball & {7, 32, 38}) == 3: return 1160
if len(set_ball & {7, 33, 42}) == 3: return 1161
if len(set_ball & {7, 34, 43}) == 3: return 1162
if len(set_ball & {7, 34, 44}) == 3: return 1163
if len(set_ball & {7, 35, 41}) == 3: return 1164
if len(set_ball & {7, 35, 42}) == 3: return 1165
if len(set_ball & {7, 35, 43}) == 3: return 1166
if len(set_ball & {7, 35, 44}) == 3: return 1167
if len(set_ball & {7, 35, 45}) == 3: return 1168
if len(set_ball & {7, 36, 44}) == 3: return 1169
if len(set_ball & {7, 36, 45}) == 3: return 1170
if len(set_ball & {7, 38, 42}) == 3: return 1171
if len(set_ball & {7, 38, 43}) == 3: return 1172
if len(set_ball & {7, 38, 45}) == 3: return 1173
if len(set_ball & {7, 40, 42}) == 3: return 1174
if len(set_ball & {7, 40, 45}) == 3: return 1175
if len(set_ball & {7, 42, 43}) == 3: return 1176
if len(set_ball & {7, 42, 44}) == 3: return 1177
if len(set_ball & {7, 43, 45}) == 3: return 1178
if len(set_ball & {8, 9, 11}) == 3: return 1179
if len(set_ball & {8, 9, 13}) == 3: return 1180
if len(set_ball & {8, 9, 14}) == 3: return 1181
if len(set_ball & {8, 9, 15}) == 3: return 1182
if len(set_ball & {8, 9, 23}) == 3: return 1183
if len(set_ball & {8, 9, 26}) == 3: return 1184
if len(set_ball & {8, 9, 30}) == 3: return 1185
if len(set_ball & {8, 9, 31}) == 3: return 1186
if len(set_ball & {8, 9, 34}) == 3: return 1187
if len(set_ball & {8, 9, 35}) == 3: return 1188
if len(set_ball & {8, 9, 36}) == 3: return 1189
if len(set_ball & {8, 9, 37}) == 3: return 1190
if len(set_ball & {8, 9, 38}) == 3: return 1191
if len(set_ball & {8, 9, 39}) == 3: return 1192
if len(set_ball & {8, 9, 41}) == 3: return 1193
if len(set_ball & {8, 9, 42}) == 3: return 1194
if len(set_ball & {8, 9, 43}) == 3: return 1195
if len(set_ball & {8, 9, 45}) == 3: return 1196
if len(set_ball & {8, 10, 17}) == 3: return 1197
if len(set_ball & {8, 10, 22}) == 3: return 1198
if len(set_ball & {8, 10, 25}) == 3: return 1199
if len(set_ball & {8, 10, 26}) == 3: return 1200
if len(set_ball & {8, 10, 29}) == 3: return 1201
if len(set_ball & {8, 10, 39}) == 3: return 1202
if len(set_ball & {8, 11, 20}) == 3: return 1203
if len(set_ball & {8, 11, 23}) == 3: return 1204
if len(set_ball & {8, 11, 24}) == 3: return 1205
if len(set_ball & {8, 11, 27}) == 3: return 1206
if len(set_ball & {8, 11, 29}) == 3: return 1207
if len(set_ball & {8, 11, 31}) == 3: return 1208
if len(set_ball & {8, 11, 32}) == 3: return 1209
if len(set_ball & {8, 11, 34}) == 3: return 1210
if len(set_ball & {8, 11, 35}) == 3: return 1211
if len(set_ball & {8, 11, 40}) == 3: return 1212
if len(set_ball & {8, 11, 42}) == 3: return 1213
if len(set_ball & {8, 12, 14}) == 3: return 1214
if len(set_ball & {8, 12, 15}) == 3: return 1215
if len(set_ball & {8, 12, 16}) == 3: return 1216
if len(set_ball & {8, 12, 17}) == 3: return 1217
if len(set_ball & {8, 12, 18}) == 3: return 1218
if len(set_ball & {8, 12, 20}) == 3: return 1219
if len(set_ball & {8, 12, 22}) == 3: return 1220
if len(set_ball & {8, 12, 23}) == 3: return 1221
if len(set_ball & {8, 12, 25}) == 3: return 1222
if len(set_ball & {8, 12, 26}) == 3: return 1223
if len(set_ball & {8, 12, 27}) == 3: return 1224
if len(set_ball & {8, 12, 28}) == 3: return 1225
if len(set_ball & {8, 12, 30}) == 3: return 1226
if len(set_ball & {8, 12, 32}) == 3: return 1227
if len(set_ball & {8, 12, 34}) == 3: return 1228
if len(set_ball & {8, 12, 37}) == 3: return 1229
if len(set_ball & {8, 12, 38}) == 3: return 1230
if len(set_ball & {8, 12, 39}) == 3: return 1231
if len(set_ball & {8, 12, 40}) == 3: return 1232
if len(set_ball & {8, 12, 41}) == 3: return 1233
if len(set_ball & {8, 12, 45}) == 3: return 1234
if len(set_ball & {8, 13, 17}) == 3: return 1235
if len(set_ball & {8, 13, 21}) == 3: return 1236
if len(set_ball & {8, 13, 41}) == 3: return 1237
if len(set_ball & {8, 14, 20}) == 3: return 1238
if len(set_ball & {8, 14, 24}) == 3: return 1239
if len(set_ball & {8, 14, 26}) == 3: return 1240
if len(set_ball & {8, 14, 41}) == 3: return 1241
if len(set_ball & {8, 14, 42}) == 3: return 1242
if len(set_ball & {8, 14, 43}) == 3: return 1243
if len(set_ball & {8, 15, 24}) == 3: return 1244
if len(set_ball & {8, 15, 26}) == 3: return 1245
if len(set_ball & {8, 15, 32}) == 3: return 1246
if len(set_ball & {8, 15, 36}) == 3: return 1247
if len(set_ball & {8, 15, 40}) == 3: return 1248
if len(set_ball & {8, 15, 42}) == 3: return 1249
if len(set_ball & {8, 16, 20}) == 3: return 1250
if len(set_ball & {8, 16, 22}) == 3: return 1251
if len(set_ball & {8, 16, 23}) == 3: return 1252
if len(set_ball & {8, 16, 24}) == 3: return 1253
if len(set_ball & {8, 16, 27}) == 3: return 1254
if len(set_ball & {8, 16, 28}) == 3: return 1255
if len(set_ball & {8, 16, 33}) == 3: return 1256
if len(set_ball & {8, 16, 35}) == 3: return 1257
if len(set_ball & {8, 16, 39}) == 3: return 1258
if len(set_ball & {8, 16, 40}) == 3: return 1259
if len(set_ball & {8, 17, 25}) == 3: return 1260
if len(set_ball & {8, 17, 28}) == 3: return 1261
if len(set_ball & {8, 17, 41}) == 3: return 1262
if len(set_ball & {8, 18, 26}) == 3: return 1263
if len(set_ball & {8, 18, 36}) == 3: return 1264
if len(set_ball & {8, 18, 41}) == 3: return 1265
if len(set_ball & {8, 19, 23}) == 3: return 1266
if len(set_ball & {8, 19, 24}) == 3: return 1267
if len(set_ball & {8, 19, 26}) == 3: return 1268
if len(set_ball & {8, 19, 29}) == 3: return 1269
if len(set_ball & {8, 20, 24}) == 3: return 1270
if len(set_ball & {8, 20, 26}) == 3: return 1271
if len(set_ball & {8, 20, 28}) == 3: return 1272
if len(set_ball & {8, 20, 31}) == 3: return 1273
if len(set_ball & {8, 20, 32}) == 3: return 1274
if len(set_ball & {8, 20, 40}) == 3: return 1275
if len(set_ball & {8, 21, 26}) == 3: return 1276
if len(set_ball & {8, 21, 32}) == 3: return 1277
if len(set_ball & {8, 21, 41}) == 3: return 1278
if len(set_ball & {8, 21, 42}) == 3: return 1279
if len(set_ball & {8, 21, 43}) == 3: return 1280
if len(set_ball & {8, 22, 27}) == 3: return 1281
if len(set_ball & {8, 22, 29}) == 3: return 1282
if len(set_ball & {8, 22, 30}) == 3: return 1283
if len(set_ball & {8, 22, 34}) == 3: return 1284
if len(set_ball & {8, 22, 37}) == 3: return 1285
if len(set_ball & {8, 22, 40}) == 3: return 1286
if len(set_ball & {8, 22, 43}) == 3: return 1287
if len(set_ball & {8, 22, 44}) == 3: return 1288
if len(set_ball & {8, 22, 45}) == 3: return 1289
if len(set_ball & {8, 23, 28}) == 3: return 1290
if len(set_ball & {8, 23, 29}) == 3: return 1291
if len(set_ball & {8, 23, 30}) == 3: return 1292
if len(set_ball & {8, 23, 32}) == 3: return 1293
if len(set_ball & {8, 23, 34}) == 3: return 1294
if len(set_ball & {8, 23, 37}) == 3: return 1295
if len(set_ball & {8, 24, 25}) == 3: return 1296
if len(set_ball & {8, 24, 26}) == 3: return 1297
if len(set_ball & {8, 24, 30}) == 3: return 1298
if len(set_ball & {8, 24, 32}) == 3: return 1299
if len(set_ball & {8, 25, 26}) == 3: return 1300
if len(set_ball & {8, 26, 33}) == 3: return 1301
if len(set_ball & {8, 26, 35}) == 3: return 1302
if len(set_ball & {8, 26, 39}) == 3: return 1303
if len(set_ball & {8, 26, 40}) == 3: return 1304
if len(set_ball & {8, 26, 41}) == 3: return 1305
if len(set_ball & {8, 26, 42}) == 3: return 1306
if len(set_ball & {8, 27, 28}) == 3: return 1307
if len(set_ball & {8, 28, 41}) == 3: return 1308
if len(set_ball & {8, 28, 44}) == 3: return 1309
if len(set_ball & {8, 29, 37}) == 3: return 1310
if len(set_ball & {8, 29, 39}) == 3: return 1311
if len(set_ball & {8, 29, 41}) == 3: return 1312
if len(set_ball & {8, 30, 36}) == 3: return 1313
if len(set_ball & {8, 31, 32}) == 3: return 1314
if len(set_ball & {8, 31, 37}) == 3: return 1315
if len(set_ball & {8, 31, 39}) == 3: return 1316
if len(set_ball & {8, 31, 40}) == 3: return 1317
if len(set_ball & {8, 32, 38}) == 3: return 1318
if len(set_ball & {8, 32, 40}) == 3: return 1319
if len(set_ball & {8, 32, 41}) == 3: return 1320
if len(set_ball & {8, 32, 44}) == 3: return 1321
if len(set_ball & {8, 33, 43}) == 3: return 1322
if len(set_ball & {8, 34, 35}) == 3: return 1323
if len(set_ball & {8, 34, 38}) == 3: return 1324
if len(set_ball & {8, 34, 42}) == 3: return 1325
if len(set_ball & {8, 37, 38}) == 3: return 1326
if len(set_ball & {8, 37, 42}) == 3: return 1327
if len(set_ball & {8, 37, 44}) == 3: return 1328
if len(set_ball & {8, 38, 43}) == 3: return 1329
if len(set_ball & {8, 40, 41}) == 3: return 1330
if len(set_ball & {8, 40, 42}) == 3: return 1331
if len(set_ball & {8, 41, 42}) == 3: return 1332
if len(set_ball & {8, 42, 44}) == 3: return 1333
if len(set_ball & {8, 42, 45}) == 3: return 1334
if len(set_ball & {9, 10, 17}) == 3: return 1335
if len(set_ball & {9, 10, 18}) == 3: return 1336
if len(set_ball & {9, 10, 19}) == 3: return 1337
if len(set_ball & {9, 10, 20}) == 3: return 1338
if len(set_ball & {9, 10, 23}) == 3: return 1339
if len(set_ball & {9, 10, 42}) == 3: return 1340
if len(set_ball & {9, 10, 43}) == 3: return 1341
if len(set_ball & {9, 11, 25}) == 3: return 1342
if len(set_ball & {9, 11, 29}) == 3: return 1343
if len(set_ball & {9, 11, 33}) == 3: return 1344
if len(set_ball & {9, 11, 34}) == 3: return 1345
if len(set_ball & {9, 11, 40}) == 3: return 1346
if len(set_ball & {9, 11, 45}) == 3: return 1347
if len(set_ball & {9, 12, 17}) == 3: return 1348
if len(set_ball & {9, 12, 18}) == 3: return 1349
if len(set_ball & {9, 12, 22}) == 3: return 1350
if len(set_ball & {9, 12, 32}) == 3: return 1351
if len(set_ball & {9, 12, 33}) == 3: return 1352
if len(set_ball & {9, 12, 42}) == 3: return 1353
if len(set_ball & {9, 13, 14}) == 3: return 1354
if len(set_ball & {9, 13, 16}) == 3: return 1355
if len(set_ball & {9, 13, 17}) == 3: return 1356
if len(set_ball & {9, 13, 22}) == 3: return 1357
if len(set_ball & {9, 13, 23}) == 3: return 1358
if len(set_ball & {9, 13, 29}) == 3: return 1359
if len(set_ball & {9, 13, 30}) == 3: return 1360
if len(set_ball & {9, 13, 36}) == 3: return 1361
if len(set_ball & {9, 13, 40}) == 3: return 1362
if len(set_ball & {9, 13, 44}) == 3: return 1363
if len(set_ball & {9, 14, 19}) == 3: return 1364
if len(set_ball & {9, 14, 24}) == 3: return 1365
if len(set_ball & {9, 14, 32}) == 3: return 1366
if len(set_ball & {9, 14, 37}) == 3: return 1367
if len(set_ball & {9, 14, 39}) == 3: return 1368
if len(set_ball & {9, 14, 40}) == 3: return 1369
if len(set_ball & {9, 14, 45}) == 3: return 1370
if len(set_ball & {9, 15, 18}) == 3: return 1371
if len(set_ball & {9, 15, 24}) == 3: return 1372
if len(set_ball & {9, 15, 32}) == 3: return 1373
if len(set_ball & {9, 15, 35}) == 3: return 1374
if len(set_ball & {9, 15, 41}) == 3: return 1375
if len(set_ball & {9, 15, 44}) == 3: return 1376
if len(set_ball & {9, 15, 45}) == 3: return 1377
if len(set_ball & {9, 16, 18}) == 3: return 1378
if len(set_ball & {9, 16, 20}) == 3: return 1379
if len(set_ball & {9, 16, 22}) == 3: return 1380
if len(set_ball & {9, 16, 30}) == 3: return 1381
if len(set_ball & {9, 16, 31}) == 3: return 1382
if len(set_ball & {9, 16, 33}) == 3: return 1383
if len(set_ball & {9, 16, 39}) == 3: return 1384
if len(set_ball & {9, 16, 42}) == 3: return 1385
if len(set_ball & {9, 17, 20}) == 3: return 1386
if len(set_ball & {9, 17, 23}) == 3: return 1387
if len(set_ball & {9, 17, 27}) == 3: return 1388
if len(set_ball & {9, 17, 40}) == 3: return 1389
if len(set_ball & {9, 17, 41}) == 3: return 1390
if len(set_ball & {9, 18, 31}) == 3: return 1391
if len(set_ball & {9, 18, 39}) == 3: return 1392
if len(set_ball & {9, 18, 41}) == 3: return 1393
if len(set_ball & {9, 18, 45}) == 3: return 1394
if len(set_ball & {9, 19, 21}) == 3: return 1395
if len(set_ball & {9, 19, 24}) == 3: return 1396
if len(set_ball & {9, 19, 26}) == 3: return 1397
if len(set_ball & {9, 19, 27}) == 3: return 1398
if len(set_ball & {9, 19, 28}) == 3: return 1399
if len(set_ball & {9, 19, 29}) == 3: return 1400
if len(set_ball & {9, 19, 31}) == 3: return 1401
if len(set_ball & {9, 19, 32}) == 3: return 1402
if len(set_ball & {9, 19, 37}) == 3: return 1403
if len(set_ball & {9, 19, 38}) == 3: return 1404
if len(set_ball & {9, 19, 43}) == 3: return 1405
if len(set_ball & {9, 19, 44}) == 3: return 1406
if len(set_ball & {9, 19, 45}) == 3: return 1407
if len(set_ball & {9, 20, 23}) == 3: return 1408
if len(set_ball & {9, 20, 31}) == 3: return 1409
if len(set_ball & {9, 20, 32}) == 3: return 1410
if len(set_ball & {9, 20, 35}) == 3: return 1411
if len(set_ball & {9, 20, 40}) == 3: return 1412
if len(set_ball & {9, 20, 42}) == 3: return 1413
if len(set_ball & {9, 21, 23}) == 3: return 1414
if len(set_ball & {9, 21, 24}) == 3: return 1415
if len(set_ball & {9, 21, 38}) == 3: return 1416
if len(set_ball & {9, 21, 39}) == 3: return 1417
if len(set_ball & {9, 21, 44}) == 3: return 1418
if len(set_ball & {9, 21, 45}) == 3: return 1419
if len(set_ball & {9, 22, 23}) == 3: return 1420
if len(set_ball & {9, 22, 26}) == 3: return 1421
if len(set_ball & {9, 22, 28}) == 3: return 1422
if len(set_ball & {9, 22, 29}) == 3: return 1423
if len(set_ball & {9, 22, 32}) == 3: return 1424
if len(set_ball & {9, 22, 39}) == 3: return 1425
if len(set_ball & {9, 22, 40}) == 3: return 1426
if len(set_ball & {9, 22, 41}) == 3: return 1427
if len(set_ball & {9, 22, 43}) == 3: return 1428
if len(set_ball & {9, 23, 27}) == 3: return 1429
if len(set_ball & {9, 23, 30}) == 3: return 1430
if len(set_ball & {9, 23, 31}) == 3: return 1431
if len(set_ball & {9, 23, 36}) == 3: return 1432
if len(set_ball & {9, 23, 41}) == 3: return 1433
if len(set_ball & {9, 23, 42}) == 3: return 1434
if len(set_ball & {9, 24, 26}) == 3: return 1435
if len(set_ball & {9, 24, 28}) == 3: return 1436
if len(set_ball & {9, 24, 35}) == 3: return 1437
if len(set_ball & {9, 24, 37}) == 3: return 1438
if len(set_ball & {9, 24, 39}) == 3: return 1439
if len(set_ball & {9, 24, 40}) == 3: return 1440
if len(set_ball & {9, 24, 42}) == 3: return 1441
if len(set_ball & {9, 25, 38}) == 3: return 1442
if len(set_ball & {9, 26, 32}) == 3: return 1443
if len(set_ball & {9, 26, 34}) == 3: return 1444
if len(set_ball & {9, 26, 36}) == 3: return 1445
if len(set_ball & {9, 26, 39}) == 3: return 1446
if len(set_ball & {9, 27, 28}) == 3: return 1447
if len(set_ball & {9, 27, 30}) == 3: return 1448
if len(set_ball & {9, 27, 33}) == 3: return 1449
if len(set_ball & {9, 28, 29}) == 3: return 1450
if len(set_ball & {9, 28, 32}) == 3: return 1451
if len(set_ball & {9, 28, 37}) == 3: return 1452
if len(set_ball & {9, 28, 42}) == 3: return 1453
if len(set_ball & {9, 28, 44}) == 3: return 1454
if len(set_ball & {9, 29, 30}) == 3: return 1455
if len(set_ball & {9, 29, 35}) == 3: return 1456
if len(set_ball & {9, 29, 36}) == 3: return 1457
if len(set_ball & {9, 29, 42}) == 3: return 1458
if len(set_ball & {9, 29, 44}) == 3: return 1459
if len(set_ball & {9, 30, 32}) == 3: return 1460
if len(set_ball & {9, 30, 38}) == 3: return 1461
if len(set_ball & {9, 30, 45}) == 3: return 1462
if len(set_ball & {9, 31, 36}) == 3: return 1463
if len(set_ball & {9, 31, 37}) == 3: return 1464
if len(set_ball & {9, 31, 42}) == 3: return 1465
if len(set_ball & {9, 31, 43}) == 3: return 1466
if len(set_ball & {9, 32, 34}) == 3: return 1467
if len(set_ball & {9, 32, 41}) == 3: return 1468
if len(set_ball & {9, 32, 45}) == 3: return 1469
if len(set_ball & {9, 33, 35}) == 3: return 1470
if len(set_ball & {9, 34, 44}) == 3: return 1471
if len(set_ball & {9, 35, 36}) == 3: return 1472
if len(set_ball & {9, 35, 44}) == 3: return 1473
if len(set_ball & {9, 37, 41}) == 3: return 1474
if len(set_ball & {9, 37, 43}) == 3: return 1475
if len(set_ball & {9, 37, 45}) == 3: return 1476
if len(set_ball & {9, 38, 40}) == 3: return 1477
if len(set_ball & {9, 38, 41}) == 3: return 1478
if len(set_ball & {9, 38, 42}) == 3: return 1479
if len(set_ball & {9, 39, 40}) == 3: return 1480
if len(set_ball & {9, 39, 42}) == 3: return 1481
if len(set_ball & {9, 40, 44}) == 3: return 1482
if len(set_ball & {9, 42, 45}) == 3: return 1483
if len(set_ball & {9, 43, 44}) == 3: return 1484
if len(set_ball & {9, 44, 45}) == 3: return 1485
if len(set_ball & {10, 11, 13}) == 3: return 1486
if len(set_ball & {10, 11, 16}) == 3: return 1487
if len(set_ball & {10, 11, 17}) == 3: return 1488
if len(set_ball & {10, 11, 30}) == 3: return 1489
if len(set_ball & {10, 11, 33}) == 3: return 1490
if len(set_ball & {10, 11, 40}) == 3: return 1491
if len(set_ball & {10, 11, 43}) == 3: return 1492
if len(set_ball & {10, 12, 17}) == 3: return 1493
if len(set_ball & {10, 12, 23}) == 3: return 1494
if len(set_ball & {10, 12, 30}) == 3: return 1495
if len(set_ball & {10, 12, 32}) == 3: return 1496
if len(set_ball & {10, 12, 34}) == 3: return 1497
if len(set_ball & {10, 12, 36}) == 3: return 1498
if len(set_ball & {10, 12, 37}) == 3: return 1499
if len(set_ball & {10, 12, 41}) == 3: return 1500
if len(set_ball & {10, 13, 14}) == 3: return 1501
if len(set_ball & {10, 13, 17}) == 3: return 1502
if len(set_ball & {10, 13, 20}) == 3: return 1503
if len(set_ball & {10, 13, 30}) == 3: return 1504
if len(set_ball & {10, 14, 17}) == 3: return 1505
if len(set_ball & {10, 14, 26}) == 3: return 1506
if len(set_ball & {10, 14, 34}) == 3: return 1507
if len(set_ball & {10, 14, 41}) == 3: return 1508
if len(set_ball & {10, 15, 28}) == 3: return 1509
if len(set_ball & {10, 15, 31}) == 3: return 1510
if len(set_ball & {10, 15, 40}) == 3: return 1511
if len(set_ball & {10, 15, 45}) == 3: return 1512
if len(set_ball & {10, 16, 21}) == 3: return 1513
if len(set_ball & {10, 16, 22}) == 3: return 1514
if len(set_ball & {10, 16, 23}) == 3: return 1515
if len(set_ball & {10, 16, 30}) == 3: return 1516
if len(set_ball & {10, 17, 20}) == 3: return 1517
if len(set_ball & {10, 17, 24}) == 3: return 1518
if len(set_ball & {10, 17, 25}) == 3: return 1519
if len(set_ball & {10, 17, 26}) == 3: return 1520
if len(set_ball & {10, 17, 28}) == 3: return 1521
if len(set_ball & {10, 17, 36}) == 3: return 1522
if len(set_ball & {10, 17, 39}) == 3: return 1523
if len(set_ball & {10, 17, 40}) == 3: return 1524
if len(set_ball & {10, 17, 41}) == 3: return 1525
if len(set_ball & {10, 17, 45}) == 3: return 1526
if len(set_ball & {10, 18, 33}) == 3: return 1527
if len(set_ball & {10, 19, 26}) == 3: return 1528
if len(set_ball & {10, 19, 30}) == 3: return 1529
if len(set_ball & {10, 19, 36}) == 3: return 1530
if len(set_ball & {10, 19, 41}) == 3: return 1531
if len(set_ball & {10, 20, 22}) == 3: return 1532
if len(set_ball & {10, 20, 29}) == 3: return 1533
if len(set_ball & {10, 20, 37}) == 3: return 1534
if len(set_ball & {10, 21, 23}) == 3: return 1535
if len(set_ball & {10, 21, 24}) == 3: return 1536
if len(set_ball & {10, 21, 26}) == 3: return 1537
if len(set_ball & {10, 21, 28}) == 3: return 1538
if len(set_ball & {10, 21, 32}) == 3: return 1539
if len(set_ball & {10, 21, 33}) == 3: return 1540
if len(set_ball & {10, 21, 44}) == 3: return 1541
if len(set_ball & {10, 22, 26}) == 3: return 1542
if len(set_ball & {10, 22, 38}) == 3: return 1543
if len(set_ball & {10, 22, 41}) == 3: return 1544
if len(set_ball & {10, 22, 45}) == 3: return 1545
if len(set_ball & {10, 23, 34}) == 3: return 1546
if len(set_ball & {10, 23, 38}) == 3: return 1547
if len(set_ball & {10, 23, 41}) == 3: return 1548
if len(set_ball & {10, 23, 45}) == 3: return 1549
if len(set_ball & {10, 24, 30}) == 3: return 1550
if len(set_ball & {10, 24, 34}) == 3: return 1551
if len(set_ball & {10, 25, 28}) == 3: return 1552
if len(set_ball & {10, 25, 30}) == 3: return 1553
if len(set_ball & {10, 25, 32}) == 3: return 1554
if len(set_ball & {10, 25, 38}) == 3: return 1555
if len(set_ball & {10, 25, 39}) == 3: return 1556
if len(set_ball & {10, 25, 42}) == 3: return 1557
if len(set_ball & {10, 25, 43}) == 3: return 1558
if len(set_ball & {10, 25, 45}) == 3: return 1559
if len(set_ball & {10, 26, 27}) == 3: return 1560
if len(set_ball & {10, 26, 30}) == 3: return 1561
if len(set_ball & {10, 26, 42}) == 3: return 1562
if len(set_ball & {10, 26, 45}) == 3: return 1563
if len(set_ball & {10, 27, 30}) == 3: return 1564
if len(set_ball & {10, 27, 32}) == 3: return 1565
if len(set_ball & {10, 27, 34}) == 3: return 1566
if len(set_ball & {10, 27, 36}) == 3: return 1567
if len(set_ball & {10, 27, 44}) == 3: return 1568
if len(set_ball & {10, 28, 29}) == 3: return 1569
if len(set_ball & {10, 28, 32}) == 3: return 1570
if len(set_ball & {10, 28, 35}) == 3: return 1571
if len(set_ball & {10, 28, 43}) == 3: return 1572
if len(set_ball & {10, 29, 30}) == 3: return 1573
if len(set_ball & {10, 29, 36}) == 3: return 1574
if len(set_ball & {10, 29, 39}) == 3: return 1575
if len(set_ball & {10, 30, 40}) == 3: return 1576
if len(set_ball & {10, 30, 41}) == 3: return 1577
if len(set_ball & {10, 30, 45}) == 3: return 1578
if len(set_ball & {10, 31, 38}) == 3: return 1579
if len(set_ball & {10, 32, 39}) == 3: return 1580
if len(set_ball & {10, 33, 34}) == 3: return 1581
if len(set_ball & {10, 33, 39}) == 3: return 1582
if len(set_ball & {10, 33, 43}) == 3: return 1583
if len(set_ball & {10, 34, 39}) == 3: return 1584
if len(set_ball & {10, 35, 44}) == 3: return 1585
if len(set_ball & {10, 35, 45}) == 3: return 1586
if len(set_ball & {10, 36, 43}) == 3: return 1587
if len(set_ball & {10, 36, 45}) == 3: return 1588
if len(set_ball & {10, 37, 42}) == 3: return 1589
if len(set_ball & {10, 37, 44}) == 3: return 1590
if len(set_ball & {10, 37, 45}) == 3: return 1591
if len(set_ball & {10, 38, 39}) == 3: return 1592
if len(set_ball & {10, 39, 45}) == 3: return 1593
if len(set_ball & {10, 42, 45}) == 3: return 1594
if len(set_ball & {10, 43, 45}) == 3: return 1595
if len(set_ball & {11, 12, 17}) == 3: return 1596
if len(set_ball & {11, 12, 22}) == 3: return 1597
if len(set_ball & {11, 12, 28}) == 3: return 1598
if len(set_ball & {11, 12, 30}) == 3: return 1599
if len(set_ball & {11, 12, 34}) == 3: return 1600
if len(set_ball & {11, 12, 40}) == 3: return 1601
if len(set_ball & {11, 12, 41}) == 3: return 1602
if len(set_ball & {11, 12, 43}) == 3: return 1603
if len(set_ball & {11, 13, 27}) == 3: return 1604
if len(set_ball & {11, 13, 39}) == 3: return 1605
if len(set_ball & {11, 13, 41}) == 3: return 1606
if len(set_ball & {11, 14, 20}) == 3: return 1607
if len(set_ball & {11, 14, 24}) == 3: return 1608
if len(set_ball & {11, 14, 25}) == 3: return 1609
if len(set_ball & {11, 14, 34}) == 3: return 1610
if len(set_ball & {11, 14, 40}) == 3: return 1611
if len(set_ball & {11, 14, 42}) == 3: return 1612
if len(set_ball & {11, 14, 44}) == 3: return 1613
if len(set_ball & {11, 15, 19}) == 3: return 1614
if len(set_ball & {11, 15, 22}) == 3: return 1615
if len(set_ball & {11, 15, 27}) == 3: return 1616
if len(set_ball & {11, 15, 29}) == 3: return 1617
if len(set_ball & {11, 15, 30}) == 3: return 1618
if len(set_ball & {11, 15, 33}) == 3: return 1619
if len(set_ball & {11, 15, 38}) == 3: return 1620
if len(set_ball & {11, 16, 20}) == 3: return 1621
if len(set_ball & {11, 16, 23}) == 3: return 1622
if len(set_ball & {11, 16, 30}) == 3: return 1623
if len(set_ball & {11, 16, 34}) == 3: return 1624
if len(set_ball & {11, 16, 42}) == 3: return 1625
if len(set_ball & {11, 17, 32}) == 3: return 1626
if len(set_ball & {11, 17, 41}) == 3: return 1627
if len(set_ball & {11, 17, 42}) == 3: return 1628
if len(set_ball & {11, 17, 43}) == 3: return 1629
if len(set_ball & {11, 18, 25}) == 3: return 1630
if len(set_ball & {11, 18, 30}) == 3: return 1631
if len(set_ball & {11, 18, 32}) == 3: return 1632
if len(set_ball & {11, 18, 33}) == 3: return 1633
if len(set_ball & {11, 18, 34}) == 3: return 1634
if len(set_ball & {11, 18, 44}) == 3: return 1635
if len(set_ball & {11, 19, 23}) == 3: return 1636
if len(set_ball & {11, 19, 30}) == 3: return 1637
if len(set_ball & {11, 19, 33}) == 3: return 1638
if len(set_ball & {11, 19, 37}) == 3: return 1639
if len(set_ball & {11, 19, 38}) == 3: return 1640
if len(set_ball & {11, 19, 40}) == 3: return 1641
if len(set_ball & {11, 19, 42}) == 3: return 1642
if len(set_ball & {11, 19, 44}) == 3: return 1643
if len(set_ball & {11, 20, 24}) == 3: return 1644
if len(set_ball & {11, 20, 30}) == 3: return 1645
if len(set_ball & {11, 20, 34}) == 3: return 1646
if len(set_ball & {11, 20, 36}) == 3: return 1647
if len(set_ball & {11, 20, 38}) == 3: return 1648
if len(set_ball & {11, 20, 40}) == 3: return 1649
if len(set_ball & {11, 21, 29}) == 3: return 1650
if len(set_ball & {11, 21, 40}) == 3: return 1651
if len(set_ball & {11, 22, 23}) == 3: return 1652
if len(set_ball & {11, 22, 27}) == 3: return 1653
if len(set_ball & {11, 22, 31}) == 3: return 1654
if len(set_ball & {11, 22, 33}) == 3: return 1655
if len(set_ball & {11, 22, 34}) == 3: return 1656
if len(set_ball & {11, 22, 40}) == 3: return 1657
if len(set_ball & {11, 22, 43}) == 3: return 1658
if len(set_ball & {11, 22, 45}) == 3: return 1659
if len(set_ball & {11, 23, 27}) == 3: return 1660
if len(set_ball & {11, 23, 31}) == 3: return 1661
if len(set_ball & {11, 23, 33}) == 3: return 1662
if len(set_ball & {11, 23, 41}) == 3: return 1663
if len(set_ball & {11, 24, 25}) == 3: return 1664
if len(set_ball & {11, 24, 31}) == 3: return 1665
if len(set_ball & {11, 24, 34}) == 3: return 1666
if len(set_ball & {11, 24, 43}) == 3: return 1667
if len(set_ball & {11, 25, 37}) == 3: return 1668
if len(set_ball & {11, 25, 38}) == 3: return 1669
if len(set_ball & {11, 25, 42}) == 3: return 1670
if len(set_ball & {11, 25, 43}) == 3: return 1671
if len(set_ball & {11, 26, 30}) == 3: return 1672
if len(set_ball & {11, 26, 32}) == 3: return 1673
if len(set_ball & {11, 26, 42}) == 3: return 1674
if len(set_ball & {11, 27, 30}) == 3: return 1675
if len(set_ball & {11, 27, 34}) == 3: return 1676
if len(set_ball & {11, 27, 42}) == 3: return 1677
if len(set_ball & {11, 27, 43}) == 3: return 1678
if len(set_ball & {11, 27, 45}) == 3: return 1679
if len(set_ball & {11, 28, 31}) == 3: return 1680
if len(set_ball & {11, 28, 38}) == 3: return 1681
if len(set_ball & {11, 29, 34}) == 3: return 1682
if len(set_ball & {11, 29, 35}) == 3: return 1683
if len(set_ball & {11, 29, 37}) == 3: return 1684
if len(set_ball & {11, 29, 40}) == 3: return 1685
if len(set_ball & {11, 30, 36}) == 3: return 1686
if len(set_ball & {11, 30, 37}) == 3: return 1687
if len(set_ball & {11, 31, 45}) == 3: return 1688
if len(set_ball & {11, 32, 34}) == 3: return 1689
if len(set_ball & {11, 32, 41}) == 3: return 1690
if len(set_ball & {11, 32, 42}) == 3: return 1691
if len(set_ball & {11, 32, 43}) == 3: return 1692
if len(set_ball & {11, 33, 34}) == 3: return 1693
if len(set_ball & {11, 33, 36}) == 3: return 1694
if len(set_ball & {11, 33, 41}) == 3: return 1695
if len(set_ball & {11, 33, 45}) == 3: return 1696
if len(set_ball & {11, 34, 36}) == 3: return 1697
if len(set_ball & {11, 34, 37}) == 3: return 1698
if len(set_ball & {11, 34, 38}) == 3: return 1699
if len(set_ball & {11, 34, 39}) == 3: return 1700
if len(set_ball & {11, 34, 40}) == 3: return 1701
if len(set_ball & {11, 34, 45}) == 3: return 1702
if len(set_ball & {11, 35, 38}) == 3: return 1703
if len(set_ball & {11, 36, 41}) == 3: return 1704
if len(set_ball & {11, 36, 42}) == 3: return 1705
if len(set_ball & {11, 36, 44}) == 3: return 1706
if len(set_ball & {11, 37, 38}) == 3: return 1707
if len(set_ball & {11, 37, 44}) == 3: return 1708
if len(set_ball & {11, 38, 40}) == 3: return 1709
if len(set_ball & {11, 39, 40}) == 3: return 1710
if len(set_ball & {11, 40, 42}) == 3: return 1711
if len(set_ball & {11, 40, 43}) == 3: return 1712
if len(set_ball & {11, 40, 44}) == 3: return 1713
if len(set_ball & {11, 40, 45}) == 3: return 1714
if len(set_ball & {12, 13, 14}) == 3: return 1715
if len(set_ball & {12, 13, 16}) == 3: return 1716
if len(set_ball & {12, 13, 23}) == 3: return 1717
if len(set_ball & {12, 13, 26}) == 3: return 1718
if len(set_ball & {12, 13, 27}) == 3: return 1719
if len(set_ball & {12, 13, 28}) == 3: return 1720
if len(set_ball & {12, 13, 30}) == 3: return 1721
if len(set_ball & {12, 14, 19}) == 3: return 1722
if len(set_ball & {12, 14, 29}) == 3: return 1723
if len(set_ball & {12, 14, 31}) == 3: return 1724
if len(set_ball & {12, 14, 36}) == 3: return 1725
if len(set_ball & {12, 15, 31}) == 3: return 1726
if len(set_ball & {12, 15, 33}) == 3: return 1727
if len(set_ball & {12, 15, 35}) == 3: return 1728
if len(set_ball & {12, 16, 17}) == 3: return 1729
if len(set_ball & {12, 16, 25}) == 3: return 1730
if len(set_ball & {12, 16, 27}) == 3: return 1731
if len(set_ball & {12, 16, 31}) == 3: return 1732
if len(set_ball & {12, 16, 32}) == 3: return 1733
if len(set_ball & {12, 16, 33}) == 3: return 1734
if len(set_ball & {12, 16, 35}) == 3: return 1735
if len(set_ball & {12, 16, 36}) == 3: return 1736
if len(set_ball & {12, 17, 27}) == 3: return 1737
if len(set_ball & {12, 17, 30}) == 3: return 1738
if len(set_ball & {12, 17, 38}) == 3: return 1739
if len(set_ball & {12, 18, 33}) == 3: return 1740
if len(set_ball & {12, 18, 36}) == 3: return 1741
if len(set_ball & {12, 18, 37}) == 3: return 1742
if len(set_ball & {12, 18, 44}) == 3: return 1743
if len(set_ball & {12, 18, 45}) == 3: return 1744
if len(set_ball & {12, 19, 30}) == 3: return 1745
if len(set_ball & {12, 19, 38}) == 3: return 1746
if len(set_ball & {12, 20, 22}) == 3: return 1747
if len(set_ball & {12, 20, 32}) == 3: return 1748
if len(set_ball & {12, 20, 37}) == 3: return 1749
if len(set_ball & {12, 20, 40}) == 3: return 1750
if len(set_ball & {12, 20, 43}) == 3: return 1751
if len(set_ball & {12, 21, 22}) == 3: return 1752
if len(set_ball & {12, 21, 23}) == 3: return 1753
if len(set_ball & {12, 21, 28}) == 3: return 1754
if len(set_ball & {12, 21, 33}) == 3: return 1755
if len(set_ball & {12, 21, 42}) == 3: return 1756
if len(set_ball & {12, 21, 44}) == 3: return 1757
if len(set_ball & {12, 22, 27}) == 3: return 1758
if len(set_ball & {12, 22, 29}) == 3: return 1759
if len(set_ball & {12, 22, 35}) == 3: return 1760
if len(set_ball & {12, 22, 38}) == 3: return 1761
if len(set_ball & {12, 22, 39}) == 3: return 1762
if len(set_ball & {12, 22, 43}) == 3: return 1763
if len(set_ball & {12, 22, 45}) == 3: return 1764
if len(set_ball & {12, 23, 24}) == 3: return 1765
if len(set_ball & {12, 23, 25}) == 3: return 1766
if len(set_ball & {12, 23, 29}) == 3: return 1767
if len(set_ball & {12, 23, 33}) == 3: return 1768
if len(set_ball & {12, 23, 38}) == 3: return 1769
if len(set_ball & {12, 23, 40}) == 3: return 1770
if len(set_ball & {12, 23, 41}) == 3: return 1771
if len(set_ball & {12, 25, 28}) == 3: return 1772
if len(set_ball & {12, 25, 30}) == 3: return 1773
if len(set_ball & {12, 26, 32}) == 3: return 1774
if len(set_ball & {12, 26, 37}) == 3: return 1775
if len(set_ball & {12, 27, 31}) == 3: return 1776
if len(set_ball & {12, 27, 34}) == 3: return 1777
if len(set_ball & {12, 27, 42}) == 3: return 1778
if len(set_ball & {12, 28, 29}) == 3: return 1779
if len(set_ball & {12, 28, 31}) == 3: return 1780
if len(set_ball & {12, 28, 33}) == 3: return 1781
if len(set_ball & {12, 28, 37}) == 3: return 1782
if len(set_ball & {12, 29, 30}) == 3: return 1783
if len(set_ball & {12, 30, 33}) == 3: return 1784
if len(set_ball & {12, 30, 35}) == 3: return 1785
if len(set_ball & {12, 31, 36}) == 3: return 1786
if len(set_ball & {12, 31, 37}) == 3: return 1787
if len(set_ball & {12, 31, 45}) == 3: return 1788
if len(set_ball & {12, 33, 34}) == 3: return 1789
if len(set_ball & {12, 33, 35}) == 3: return 1790
if len(set_ball & {12, 33, 37}) == 3: return 1791
if len(set_ball & {12, 33, 43}) == 3: return 1792
if len(set_ball & {12, 34, 39}) == 3: return 1793
if len(set_ball & {12, 35, 36}) == 3: return 1794
if len(set_ball & {12, 35, 39}) == 3: return 1795
if len(set_ball & {12, 35, 44}) == 3: return 1796
if len(set_ball & {12, 36, 38}) == 3: return 1797
if len(set_ball & {12, 37, 42}) == 3: return 1798
if len(set_ball & {12, 37, 43}) == 3: return 1799
if len(set_ball & {12, 37, 44}) == 3: return 1800
if len(set_ball & {12, 38, 39}) == 3: return 1801
if len(set_ball & {12, 38, 44}) == 3: return 1802
if len(set_ball & {12, 43, 45}) == 3: return 1803
if len(set_ball & {13, 14, 23}) == 3: return 1804
if len(set_ball & {13, 14, 29}) == 3: return 1805
if len(set_ball & {13, 14, 31}) == 3: return 1806
if len(set_ball & {13, 15, 19}) == 3: return 1807
if len(set_ball & {13, 15, 20}) == 3: return 1808
if len(set_ball & {13, 15, 22}) == 3: return 1809
if len(set_ball & {13, 15, 30}) == 3: return 1810
if len(set_ball & {13, 15, 32}) == 3: return 1811
if len(set_ball & {13, 16, 17}) == 3: return 1812
if len(set_ball & {13, 16, 20}) == 3: return 1813
if len(set_ball & {13, 16, 21}) == 3: return 1814
if len(set_ball & {13, 16, 22}) == 3: return 1815
if len(set_ball & {13, 16, 34}) == 3: return 1816
if len(set_ball & {13, 16, 39}) == 3: return 1817
if len(set_ball & {13, 16, 40}) == 3: return 1818
if len(set_ball & {13, 16, 41}) == 3: return 1819
if len(set_ball & {13, 16, 42}) == 3: return 1820
if len(set_ball & {13, 17, 24}) == 3: return 1821
if len(set_ball & {13, 17, 26}) == 3: return 1822
if len(set_ball & {13, 17, 30}) == 3: return 1823
if len(set_ball & {13, 17, 35}) == 3: return 1824
if len(set_ball & {13, 17, 37}) == 3: return 1825
if len(set_ball & {13, 17, 38}) == 3: return 1826
if len(set_ball & {13, 18, 36}) == 3: return 1827
if len(set_ball & {13, 18, 43}) == 3: return 1828
if len(set_ball & {13, 19, 21}) == 3: return 1829
if len(set_ball & {13, 19, 23}) == 3: return 1830
if len(set_ball & {13, 19, 24}) == 3: return 1831
if len(set_ball & {13, 19, 29}) == 3: return 1832
if len(set_ball & {13, 19, 30}) == 3: return 1833
if len(set_ball & {13, 19, 34}) == 3: return 1834
if len(set_ball & {13, 19, 39}) == 3: return 1835
if len(set_ball & {13, 19, 41}) == 3: return 1836
if len(set_ball & {13, 19, 44}) == 3: return 1837
if len(set_ball & {13, 20, 26}) == 3: return 1838
if len(set_ball & {13, 20, 34}) == 3: return 1839
if len(set_ball & {13, 21, 27}) == 3: return 1840
if len(set_ball & {13, 21, 28}) == 3: return 1841
if len(set_ball & {13, 21, 31}) == 3: return 1842
if len(set_ball & {13, 21, 35}) == 3: return 1843
if len(set_ball & {13, 21, 36}) == 3: return 1844
if len(set_ball & {13, 21, 38}) == 3: return 1845
if len(set_ball & {13, 21, 41}) == 3: return 1846
if len(set_ball & {13, 22, 41}) == 3: return 1847
if len(set_ball & {13, 22, 43}) == 3: return 1848
if len(set_ball & {13, 23, 25}) == 3: return 1849
if len(set_ball & {13, 23, 27}) == 3: return 1850
if len(set_ball & {13, 23, 29}) == 3: return 1851
if len(set_ball & {13, 23, 30}) == 3: return 1852
if len(set_ball & {13, 23, 33}) == 3: return 1853
if len(set_ball & {13, 23, 34}) == 3: return 1854
if len(set_ball & {13, 23, 37}) == 3: return 1855
if len(set_ball & {13, 23, 41}) == 3: return 1856
if len(set_ball & {13, 23, 42}) == 3: return 1857
if len(set_ball & {13, 24, 30}) == 3: return 1858
if len(set_ball & {13, 24, 31}) == 3: return 1859
if len(set_ball & {13, 24, 43}) == 3: return 1860
if len(set_ball & {13, 25, 30}) == 3: return 1861
if len(set_ball & {13, 25, 39}) == 3: return 1862
if len(set_ball & {13, 25, 40}) == 3: return 1863
if len(set_ball & {13, 26, 41}) == 3: return 1864
if len(set_ball & {13, 26, 42}) == 3: return 1865
if len(set_ball & {13, 26, 45}) == 3: return 1866
if len(set_ball & {13, 27, 33}) == 3: return 1867
if len(set_ball & {13, 27, 35}) == 3: return 1868
if len(set_ball & {13, 27, 36}) == 3: return 1869
if len(set_ball & {13, 27, 39}) == 3: return 1870
if len(set_ball & {13, 28, 33}) == 3: return 1871
if len(set_ball & {13, 28, 35}) == 3: return 1872
if len(set_ball & {13, 29, 32}) == 3: return 1873
if len(set_ball & {13, 29, 45}) == 3: return 1874
if len(set_ball & {13, 30, 32}) == 3: return 1875
if len(set_ball & {13, 30, 34}) == 3: return 1876
if len(set_ball & {13, 30, 37}) == 3: return 1877
if len(set_ball & {13, 30, 42}) == 3: return 1878
if len(set_ball & {13, 30, 44}) == 3: return 1879
if len(set_ball & {13, 31, 40}) == 3: return 1880
if len(set_ball & {13, 34, 35}) == 3: return 1881
if len(set_ball & {13, 34, 37}) == 3: return 1882
if len(set_ball & {13, 35, 36}) == 3: return 1883
if len(set_ball & {13, 35, 37}) == 3: return 1884
if len(set_ball & {13, 35, 41}) == 3: return 1885
if len(set_ball & {13, 35, 42}) == 3: return 1886
if len(set_ball & {13, 35, 44}) == 3: return 1887
if len(set_ball & {13, 36, 39}) == 3: return 1888
if len(set_ball & {13, 36, 43}) == 3: return 1889
if len(set_ball & {13, 37, 42}) == 3: return 1890
if len(set_ball & {13, 37, 44}) == 3: return 1891
if len(set_ball & {13, 38, 44}) == 3: return 1892
if len(set_ball & {13, 39, 44}) == 3: return 1893
if len(set_ball & {13, 41, 43}) == 3: return 1894
if len(set_ball & {13, 42, 43}) == 3: return 1895
if len(set_ball & {13, 42, 44}) == 3: return 1896
if len(set_ball & {13, 43, 44}) == 3: return 1897
if len(set_ball & {14, 16, 20}) == 3: return 1898
if len(set_ball & {14, 16, 22}) == 3: return 1899
if len(set_ball & {14, 16, 23}) == 3: return 1900
if len(set_ball & {14, 16, 26}) == 3: return 1901
if len(set_ball & {14, 16, 30}) == 3: return 1902
if len(set_ball & {14, 16, 32}) == 3: return 1903
if len(set_ball & {14, 16, 33}) == 3: return 1904
if len(set_ball & {14, 16, 34}) == 3: return 1905
if len(set_ball & {14, 16, 41}) == 3: return 1906
if len(set_ball & {14, 17, 23}) == 3: return 1907
if len(set_ball & {14, 17, 25}) == 3: return 1908
if len(set_ball & {14, 17, 28}) == 3: return 1909
if len(set_ball & {14, 17, 29}) == 3: return 1910
if len(set_ball & {14, 17, 34}) == 3: return 1911
if len(set_ball & {14, 17, 43}) == 3: return 1912
if len(set_ball & {14, 18, 19}) == 3: return 1913
if len(set_ball & {14, 18, 25}) == 3: return 1914
if len(set_ball & {14, 18, 33}) == 3: return 1915
if len(set_ball & {14, 18, 38}) == 3: return 1916
if len(set_ball & {14, 18, 40}) == 3: return 1917
if len(set_ball & {14, 18, 41}) == 3: return 1918
if len(set_ball & {14, 18, 43}) == 3: return 1919
if len(set_ball & {14, 18, 45}) == 3: return 1920
if len(set_ball & {14, 19, 29}) == 3: return 1921
if len(set_ball & {14, 19, 32}) == 3: return 1922
if len(set_ball & {14, 19, 33}) == 3: return 1923
if len(set_ball & {14, 19, 42}) == 3: return 1924
if len(set_ball & {14, 20, 21}) == 3: return 1925
if len(set_ball & {14, 20, 26}) == 3: return 1926
if len(set_ball & {14, 20, 27}) == 3: return 1927
if len(set_ball & {14, 20, 29}) == 3: return 1928
if len(set_ball & {14, 20, 32}) == 3: return 1929
if len(set_ball & {14, 20, 41}) == 3: return 1930
if len(set_ball & {14, 20, 45}) == 3: return 1931
if len(set_ball & {14, 21, 24}) == 3: return 1932
if len(set_ball & {14, 21, 28}) == 3: return 1933
if len(set_ball & {14, 21, 33}) == 3: return 1934
if len(set_ball & {14, 21, 42}) == 3: return 1935
if len(set_ball & {14, 22, 29}) == 3: return 1936
if len(set_ball & {14, 22, 42}) == 3: return 1937
if len(set_ball & {14, 23, 24}) == 3: return 1938
if len(set_ball & {14, 23, 27}) == 3: return 1939
if len(set_ball & {14, 23, 29}) == 3: return 1940
if len(set_ball & {14, 23, 41}) == 3: return 1941
if len(set_ball & {14, 24, 29}) == 3: return 1942
if len(set_ball & {14, 24, 30}) == 3: return 1943
if len(set_ball & {14, 24, 38}) == 3: return 1944
if len(set_ball & {14, 24, 43}) == 3: return 1945
if len(set_ball & {14, 25, 38}) == 3: return 1946
if len(set_ball & {14, 25, 41}) == 3: return 1947
if len(set_ball & {14, 25, 42}) == 3: return 1948
if len(set_ball & {14, 26, 29}) == 3: return 1949
if len(set_ball & {14, 27, 41}) == 3: return 1950
if len(set_ball & {14, 28, 33}) == 3: return 1951
if len(set_ball & {14, 28, 38}) == 3: return 1952
if len(set_ball & {14, 28, 42}) == 3: return 1953
if len(set_ball & {14, 28, 43}) == 3: return 1954
if len(set_ball & {14, 28, 44}) == 3: return 1955
if len(set_ball & {14, 29, 38}) == 3: return 1956
if len(set_ball & {14, 29, 39}) == 3: return 1957
if len(set_ball & {14, 29, 41}) == 3: return 1958
if len(set_ball & {14, 29, 42}) == 3: return 1959
if len(set_ball & {14, 29, 43}) == 3: return 1960
if len(set_ball & {14, 30, 35}) == 3: return 1961
if len(set_ball & {14, 31, 35}) == 3: return 1962
if len(set_ball & {14, 31, 43}) == 3: return 1963
if len(set_ball & {14, 32, 43}) == 3: return 1964
if len(set_ball & {14, 32, 44}) == 3: return 1965
if len(set_ball & {14, 34, 36}) == 3: return 1966
if len(set_ball & {14, 34, 39}) == 3: return 1967
if len(set_ball & {14, 36, 41}) == 3: return 1968
if len(set_ball & {14, 37, 43}) == 3: return 1969
if len(set_ball & {14, 37, 44}) == 3: return 1970
if len(set_ball & {14, 38, 41}) == 3: return 1971
if len(set_ball & {14, 38, 44}) == 3: return 1972
if len(set_ball & {14, 41, 43}) == 3: return 1973
if len(set_ball & {14, 41, 44}) == 3: return 1974
if len(set_ball & {14, 41, 45}) == 3: return 1975
if len(set_ball & {14, 42, 43}) == 3: return 1976
if len(set_ball & {15, 16, 18}) == 3: return 1977
if len(set_ball & {15, 16, 23}) == 3: return 1978
if len(set_ball & {15, 16, 27}) == 3: return 1979
if len(set_ball & {15, 16, 33}) == 3: return 1980
if len(set_ball & {15, 16, 35}) == 3: return 1981
if len(set_ball & {15, 16, 36}) == 3: return 1982
if len(set_ball & {15, 16, 40}) == 3: return 1983
if len(set_ball & {15, 16, 44}) == 3: return 1984
if len(set_ball & {15, 17, 20}) == 3: return 1985
if len(set_ball & {15, 17, 22}) == 3: return 1986
if len(set_ball & {15, 17, 28}) == 3: return 1987
if len(set_ball & {15, 17, 32}) == 3: return 1988
if len(set_ball & {15, 18, 20}) == 3: return 1989
if len(set_ball & {15, 18, 25}) == 3: return 1990
if len(set_ball & {15, 18, 29}) == 3: return 1991
if len(set_ball & {15, 18, 30}) == 3: return 1992
if len(set_ball & {15, 18, 31}) == 3: return 1993
if len(set_ball & {15, 18, 33}) == 3: return 1994
if len(set_ball & {15, 18, 37}) == 3: return 1995
if len(set_ball & {15, 18, 38}) == 3: return 1996
if len(set_ball & {15, 18, 43}) == 3: return 1997
if len(set_ball & {15, 19, 20}) == 3: return 1998
if len(set_ball & {15, 19, 29}) == 3: return 1999
if len(set_ball & {15, 19, 31}) == 3: return 2000
if len(set_ball & {15, 19, 32}) == 3: return 2001
if len(set_ball & {15, 19, 33}) == 3: return 2002
if len(set_ball & {15, 19, 35}) == 3: return 2003
if len(set_ball & {15, 20, 32}) == 3: return 2004
if len(set_ball & {15, 20, 37}) == 3: return 2005
if len(set_ball & {15, 20, 40}) == 3: return 2006
if len(set_ball & {15, 20, 45}) == 3: return 2007
if len(set_ball & {15, 21, 24}) == 3: return 2008
if len(set_ball & {15, 21, 37}) == 3: return 2009
if len(set_ball & {15, 21, 40}) == 3: return 2010
if len(set_ball & {15, 21, 42}) == 3: return 2011
if len(set_ball & {15, 22, 29}) == 3: return 2012
if len(set_ball & {15, 22, 30}) == 3: return 2013
if len(set_ball & {15, 22, 31}) == 3: return 2014
if len(set_ball & {15, 23, 24}) == 3: return 2015
if len(set_ball & {15, 23, 27}) == 3: return 2016
if len(set_ball & {15, 23, 30}) == 3: return 2017
if len(set_ball & {15, 23, 33}) == 3: return 2018
if len(set_ball & {15, 23, 36}) == 3: return 2019
if len(set_ball & {15, 24, 26}) == 3: return 2020
if len(set_ball & {15, 24, 34}) == 3: return 2021
if len(set_ball & {15, 25, 27}) == 3: return 2022
if len(set_ball & {15, 25, 38}) == 3: return 2023
if len(set_ball & {15, 25, 40}) == 3: return 2024
if len(set_ball & {15, 25, 44}) == 3: return 2025
if len(set_ball & {15, 26, 29}) == 3: return 2026
if len(set_ball & {15, 26, 32}) == 3: return 2027
if len(set_ball & {15, 26, 38}) == 3: return 2028
if len(set_ball & {15, 27, 28}) == 3: return 2029
if len(set_ball & {15, 27, 31}) == 3: return 2030
if len(set_ball & {15, 27, 36}) == 3: return 2031
if len(set_ball & {15, 27, 37}) == 3: return 2032
if len(set_ball & {15, 27, 38}) == 3: return 2033
if len(set_ball & {15, 27, 39}) == 3: return 2034
if len(set_ball & {15, 27, 44}) == 3: return 2035
if len(set_ball & {15, 28, 32}) == 3: return 2036
if len(set_ball & {15, 28, 35}) == 3: return 2037
if len(set_ball & {15, 28, 38}) == 3: return 2038
if len(set_ball & {15, 28, 44}) == 3: return 2039
if len(set_ball & {15, 29, 31}) == 3: return 2040
if len(set_ball & {15, 29, 32}) == 3: return 2041
if len(set_ball & {15, 29, 33}) == 3: return 2042
if len(set_ball & {15, 29, 36}) == 3: return 2043
if len(set_ball & {15, 29, 41}) == 3: return 2044
if len(set_ball & {15, 30, 32}) == 3: return 2045
if len(set_ball & {15, 30, 34}) == 3: return 2046
if len(set_ball & {15, 30, 35}) == 3: return 2047
if len(set_ball & {15, 30, 36}) == 3: return 2048
if len(set_ball & {15, 30, 40}) == 3: return 2049
if len(set_ball & {15, 30, 41}) == 3: return 2050
if len(set_ball & {15, 30, 42}) == 3: return 2051
if len(set_ball & {15, 31, 36}) == 3: return 2052
if len(set_ball & {15, 31, 37}) == 3: return 2053
if len(set_ball & {15, 31, 39}) == 3: return 2054
if len(set_ball & {15, 31, 44}) == 3: return 2055
if len(set_ball & {15, 31, 45}) == 3: return 2056
if len(set_ball & {15, 32, 37}) == 3: return 2057
if len(set_ball & {15, 32, 38}) == 3: return 2058
if len(set_ball & {15, 33, 34}) == 3: return 2059
if len(set_ball & {15, 33, 36}) == 3: return 2060
if len(set_ball & {15, 33, 42}) == 3: return 2061
if len(set_ball & {15, 33, 44}) == 3: return 2062
if len(set_ball & {15, 36, 43}) == 3: return 2063
if len(set_ball & {15, 36, 45}) == 3: return 2064
if len(set_ball & {15, 37, 41}) == 3: return 2065
if len(set_ball & {15, 38, 39}) == 3: return 2066
if len(set_ball & {15, 38, 40}) == 3: return 2067
if len(set_ball & {15, 38, 42}) == 3: return 2068
if len(set_ball & {15, 38, 44}) == 3: return 2069
if len(set_ball & {15, 39, 45}) == 3: return 2070
if len(set_ball & {15, 40, 45}) == 3: return 2071
if len(set_ball & {15, 41, 45}) == 3: return 2072
if len(set_ball & {15, 44, 45}) == 3: return 2073
if len(set_ball & {16, 17, 18}) == 3: return 2074
if len(set_ball & {16, 17, 21}) == 3: return 2075
if len(set_ball & {16, 17, 27}) == 3: return 2076
if len(set_ball & {16, 17, 35}) == 3: return 2077
if len(set_ball & {16, 18, 22}) == 3: return 2078
if len(set_ball & {16, 18, 33}) == 3: return 2079
if len(set_ball & {16, 18, 36}) == 3: return 2080
if len(set_ball & {16, 18, 40}) == 3: return 2081
if len(set_ball & {16, 18, 41}) == 3: return 2082
if len(set_ball & {16, 19, 26}) == 3: return 2083
if len(set_ball & {16, 19, 28}) == 3: return 2084
if len(set_ball & {16, 19, 30}) == 3: return 2085
if len(set_ball & {16, 20, 21}) == 3: return 2086
if len(set_ball & {16, 20, 22}) == 3: return 2087
if len(set_ball & {16, 20, 34}) == 3: return 2088
if len(set_ball & {16, 20, 37}) == 3: return 2089
if len(set_ball & {16, 20, 38}) == 3: return 2090
if len(set_ball & {16, 20, 45}) == 3: return 2091
if len(set_ball & {16, 21, 38}) == 3: return 2092
if len(set_ball & {16, 21, 40}) == 3: return 2093
if len(set_ball & {16, 21, 45}) == 3: return 2094
if len(set_ball & {16, 22, 24}) == 3: return 2095
if len(set_ball & {16, 22, 25}) == 3: return 2096
if len(set_ball & {16, 22, 26}) == 3: return 2097
if len(set_ball & {16, 22, 27}) == 3: return 2098
if len(set_ball & {16, 22, 32}) == 3: return 2099
if len(set_ball & {16, 22, 33}) == 3: return 2100
if len(set_ball & {16, 22, 35}) == 3: return 2101
if len(set_ball & {16, 22, 41}) == 3: return 2102
if len(set_ball & {16, 22, 45}) == 3: return 2103
if len(set_ball & {16, 23, 28}) == 3: return 2104
if len(set_ball & {16, 23, 37}) == 3: return 2105
if len(set_ball & {16, 24, 31}) == 3: return 2106
if len(set_ball & {16, 24, 34}) == 3: return 2107
if len(set_ball & {16, 25, 28}) == 3: return 2108
if len(set_ball & {16, 25, 32}) == 3: return 2109
if len(set_ball & {16, 26, 27}) == 3: return 2110
if len(set_ball & {16, 26, 32}) == 3: return 2111
if len(set_ball & {16, 26, 35}) == 3: return 2112
if len(set_ball & {16, 26, 37}) == 3: return 2113
if len(set_ball & {16, 27, 30}) == 3: return 2114
if len(set_ball & {16, 27, 32}) == 3: return 2115
if len(set_ball & {16, 28, 29}) == 3: return 2116
if len(set_ball & {16, 28, 31}) == 3: return 2117
if len(set_ball & {16, 28, 32}) == 3: return 2118
if len(set_ball & {16, 28, 33}) == 3: return 2119
if len(set_ball & {16, 28, 45}) == 3: return 2120
if len(set_ball & {16, 29, 32}) == 3: return 2121
if len(set_ball & {16, 29, 37}) == 3: return 2122
if len(set_ball & {16, 29, 39}) == 3: return 2123
if len(set_ball & {16, 29, 43}) == 3: return 2124
if len(set_ball & {16, 30, 32}) == 3: return 2125
if len(set_ball & {16, 30, 33}) == 3: return 2126
if len(set_ball & {16, 30, 35}) == 3: return 2127
if len(set_ball & {16, 30, 39}) == 3: return 2128
if len(set_ball & {16, 31, 33}) == 3: return 2129
if len(set_ball & {16, 31, 42}) == 3: return 2130
if len(set_ball & {16, 31, 45}) == 3: return 2131
if len(set_ball & {16, 32, 35}) == 3: return 2132
if len(set_ball & {16, 32, 36}) == 3: return 2133
if len(set_ball & {16, 32, 37}) == 3: return 2134
if len(set_ball & {16, 32, 40}) == 3: return 2135
if len(set_ball & {16, 32, 42}) == 3: return 2136
if len(set_ball & {16, 32, 44}) == 3: return 2137
if len(set_ball & {16, 33, 34}) == 3: return 2138
if len(set_ball & {16, 33, 37}) == 3: return 2139
if len(set_ball & {16, 34, 41}) == 3: return 2140
if len(set_ball & {16, 35, 41}) == 3: return 2141
if len(set_ball & {16, 35, 42}) == 3: return 2142
if len(set_ball & {16, 35, 44}) == 3: return 2143
if len(set_ball & {16, 37, 42}) == 3: return 2144
if len(set_ball & {16, 38, 42}) == 3: return 2145
if len(set_ball & {16, 38, 43}) == 3: return 2146
if len(set_ball & {16, 43, 44}) == 3: return 2147
if len(set_ball & {17, 18, 37}) == 3: return 2148
if len(set_ball & {17, 19, 26}) == 3: return 2149
if len(set_ball & {17, 19, 29}) == 3: return 2150
if len(set_ball & {17, 19, 31}) == 3: return 2151
if len(set_ball & {17, 19, 33}) == 3: return 2152
if len(set_ball & {17, 19, 39}) == 3: return 2153
if len(set_ball & {17, 20, 21}) == 3: return 2154
if len(set_ball & {17, 20, 22}) == 3: return 2155
if len(set_ball & {17, 20, 23}) == 3: return 2156
if len(set_ball & {17, 20, 25}) == 3: return 2157
if len(set_ball & {17, 21, 28}) == 3: return 2158
if len(set_ball & {17, 21, 35}) == 3: return 2159
if len(set_ball & {17, 21, 38}) == 3: return 2160
if len(set_ball & {17, 21, 41}) == 3: return 2161
if len(set_ball & {17, 21, 42}) == 3: return 2162
if len(set_ball & {17, 21, 43}) == 3: return 2163
if len(set_ball & {17, 22, 29}) == 3: return 2164
if len(set_ball & {17, 22, 32}) == 3: return 2165
if len(set_ball & {17, 22, 38}) == 3: return 2166
if len(set_ball & {17, 22, 41}) == 3: return 2167
if len(set_ball & {17, 22, 42}) == 3: return 2168
if len(set_ball & {17, 22, 44}) == 3: return 2169
if len(set_ball & {17, 23, 26}) == 3: return 2170
if len(set_ball & {17, 23, 31}) == 3: return 2171
if len(set_ball & {17, 23, 33}) == 3: return 2172
if len(set_ball & {17, 24, 28}) == 3: return 2173
if len(set_ball & {17, 24, 32}) == 3: return 2174
if len(set_ball & {17, 24, 33}) == 3: return 2175
if len(set_ball & {17, 24, 34}) == 3: return 2176
if len(set_ball & {17, 24, 38}) == 3: return 2177
if len(set_ball & {17, 24, 42}) == 3: return 2178
if len(set_ball & {17, 24, 43}) == 3: return 2179
if len(set_ball & {17, 25, 29}) == 3: return 2180
if len(set_ball & {17, 25, 32}) == 3: return 2181
if len(set_ball & {17, 26, 32}) == 3: return 2182
if len(set_ball & {17, 26, 33}) == 3: return 2183
if len(set_ball & {17, 26, 34}) == 3: return 2184
if len(set_ball & {17, 26, 44}) == 3: return 2185
if len(set_ball & {17, 27, 30}) == 3: return 2186
if len(set_ball & {17, 27, 41}) == 3: return 2187
if len(set_ball & {17, 27, 42}) == 3: return 2188
if len(set_ball & {17, 28, 31}) == 3: return 2189
if len(set_ball & {17, 28, 32}) == 3: return 2190
if len(set_ball & {17, 28, 34}) == 3: return 2191
if len(set_ball & {17, 28, 38}) == 3: return 2192
if len(set_ball & {17, 29, 36}) == 3: return 2193
if len(set_ball & {17, 29, 37}) == 3: return 2194
if len(set_ball & {17, 29, 41}) == 3: return 2195
if len(set_ball & {17, 29, 42}) == 3: return 2196
if len(set_ball & {17, 30, 39}) == 3: return 2197
if len(set_ball & {17, 31, 35}) == 3: return 2198
if len(set_ball & {17, 31, 41}) == 3: return 2199
if len(set_ball & {17, 32, 36}) == 3: return 2200
if len(set_ball & {17, 32, 38}) == 3: return 2201
if len(set_ball & {17, 32, 40}) == 3: return 2202
if len(set_ball & {17, 32, 43}) == 3: return 2203
if len(set_ball & {17, 33, 37}) == 3: return 2204
if len(set_ball & {17, 33, 39}) == 3: return 2205
if len(set_ball & {17, 33, 43}) == 3: return 2206
if len(set_ball & {17, 34, 40}) == 3: return 2207
if len(set_ball & {17, 35, 37}) == 3: return 2208
if len(set_ball & {17, 38, 39}) == 3: return 2209
if len(set_ball & {17, 38, 40}) == 3: return 2210
if len(set_ball & {17, 38, 42}) == 3: return 2211
if len(set_ball & {17, 39, 41}) == 3: return 2212
if len(set_ball & {17, 40, 41}) == 3: return 2213
if len(set_ball & {17, 40, 42}) == 3: return 2214
if len(set_ball & {17, 40, 45}) == 3: return 2215
if len(set_ball & {18, 19, 20}) == 3: return 2216
if len(set_ball & {18, 19, 35}) == 3: return 2217
if len(set_ball & {18, 19, 36}) == 3: return 2218
if len(set_ball & {18, 19, 37}) == 3: return 2219
if len(set_ball & {18, 19, 41}) == 3: return 2220
if len(set_ball & {18, 19, 43}) == 3: return 2221
if len(set_ball & {18, 20, 29}) == 3: return 2222
if len(set_ball & {18, 20, 37}) == 3: return 2223
if len(set_ball & {18, 20, 39}) == 3: return 2224
if len(set_ball & {18, 20, 41}) == 3: return 2225
if len(set_ball & {18, 21, 24}) == 3: return 2226
if len(set_ball & {18, 21, 30}) == 3: return 2227
if len(set_ball & {18, 21, 45}) == 3: return 2228
if len(set_ball & {18, 22, 27}) == 3: return 2229
if len(set_ball & {18, 22, 32}) == 3: return 2230
if len(set_ball & {18, 22, 33}) == 3: return 2231
if len(set_ball & {18, 22, 36}) == 3: return 2232
if len(set_ball & {18, 22, 37}) == 3: return 2233
if len(set_ball & {18, 22, 40}) == 3: return 2234
if len(set_ball & {18, 22, 41}) == 3: return 2235
if len(set_ball & {18, 23, 24}) == 3: return 2236
if len(set_ball & {18, 23, 31}) == 3: return 2237
if len(set_ball & {18, 23, 33}) == 3: return 2238
if len(set_ball & {18, 23, 38}) == 3: return 2239
if len(set_ball & {18, 23, 42}) == 3: return 2240
if len(set_ball & {18, 24, 28}) == 3: return 2241
if len(set_ball & {18, 24, 35}) == 3: return 2242
if len(set_ball & {18, 24, 43}) == 3: return 2243
if len(set_ball & {18, 25, 29}) == 3: return 2244
if len(set_ball & {18, 25, 36}) == 3: return 2245
if len(set_ball & {18, 25, 40}) == 3: return 2246
if len(set_ball & {18, 25, 41}) == 3: return 2247
if len(set_ball & {18, 25, 42}) == 3: return 2248
if len(set_ball & {18, 25, 43}) == 3: return 2249
if len(set_ball & {18, 26, 28}) == 3: return 2250
if len(set_ball & {18, 27, 30}) == 3: return 2251
if len(set_ball & {18, 27, 34}) == 3: return 2252
if len(set_ball & {18, 27, 35}) == 3: return 2253
if len(set_ball & {18, 27, 37}) == 3: return 2254
if len(set_ball & {18, 27, 38}) == 3: return 2255
if len(set_ball & {18, 27, 44}) == 3: return 2256
if len(set_ball & {18, 28, 29}) == 3: return 2257
if len(set_ball & {18, 28, 33}) == 3: return 2258
if len(set_ball & {18, 28, 41}) == 3: return 2259
if len(set_ball & {18, 28, 44}) == 3: return 2260
if len(set_ball & {18, 29, 40}) == 3: return 2261
if len(set_ball & {18, 29, 41}) == 3: return 2262
if len(set_ball & {18, 29, 45}) == 3: return 2263
if len(set_ball & {18, 30, 33}) == 3: return 2264
if len(set_ball & {18, 30, 35}) == 3: return 2265
if len(set_ball & {18, 31, 35}) == 3: return 2266
if len(set_ball & {18, 32, 42}) == 3: return 2267
if len(set_ball & {18, 33, 35}) == 3: return 2268
if len(set_ball & {18, 33, 39}) == 3: return 2269
if len(set_ball & {18, 33, 41}) == 3: return 2270
if len(set_ball & {18, 33, 43}) == 3: return 2271
if len(set_ball & {18, 34, 36}) == 3: return 2272
if len(set_ball & {18, 34, 37}) == 3: return 2273
if len(set_ball & {18, 35, 36}) == 3: return 2274
if len(set_ball & {18, 35, 41}) == 3: return 2275
if len(set_ball & {18, 36, 38}) == 3: return 2276
if len(set_ball & {18, 36, 45}) == 3: return 2277
if len(set_ball & {18, 37, 41}) == 3: return 2278
if len(set_ball & {18, 38, 39}) == 3: return 2279
if len(set_ball & {18, 38, 40}) == 3: return 2280
if len(set_ball & {18, 38, 42}) == 3: return 2281
if len(set_ball & {18, 40, 44}) == 3: return 2282
if len(set_ball & {18, 41, 44}) == 3: return 2283
if len(set_ball & {19, 20, 22}) == 3: return 2284
if len(set_ball & {19, 20, 27}) == 3: return 2285
if len(set_ball & {19, 20, 29}) == 3: return 2286
if len(set_ball & {19, 20, 31}) == 3: return 2287
if len(set_ball & {19, 20, 36}) == 3: return 2288
if len(set_ball & {19, 20, 37}) == 3: return 2289
if len(set_ball & {19, 21, 28}) == 3: return 2290
if len(set_ball & {19, 21, 38}) == 3: return 2291
if len(set_ball & {19, 22, 26}) == 3: return 2292
if len(set_ball & {19, 22, 27}) == 3: return 2293
if len(set_ball & {19, 22, 33}) == 3: return 2294
if len(set_ball & {19, 22, 38}) == 3: return 2295
if len(set_ball & {19, 22, 41}) == 3: return 2296
if len(set_ball & {19, 22, 45}) == 3: return 2297
if len(set_ball & {19, 23, 26}) == 3: return 2298
if len(set_ball & {19, 23, 40}) == 3: return 2299
if len(set_ball & {19, 24, 25}) == 3: return 2300
if len(set_ball & {19, 24, 28}) == 3: return 2301
if len(set_ball & {19, 24, 29}) == 3: return 2302
if len(set_ball & {19, 24, 35}) == 3: return 2303
if len(set_ball & {19, 24, 38}) == 3: return 2304
if len(set_ball & {19, 25, 30}) == 3: return 2305
if len(set_ball & {19, 25, 35}) == 3: return 2306
if len(set_ball & {19, 25, 40}) == 3: return 2307
if len(set_ball & {19, 26, 29}) == 3: return 2308
if len(set_ball & {19, 26, 32}) == 3: return 2309
if len(set_ball & {19, 26, 38}) == 3: return 2310
if len(set_ball & {19, 27, 32}) == 3: return 2311
if len(set_ball & {19, 27, 33}) == 3: return 2312
if len(set_ball & {19, 27, 36}) == 3: return 2313
if len(set_ball & {19, 27, 37}) == 3: return 2314
if len(set_ball & {19, 27, 38}) == 3: return 2315
if len(set_ball & {19, 27, 39}) == 3: return 2316
if len(set_ball & {19, 28, 29}) == 3: return 2317
if len(set_ball & {19, 28, 35}) == 3: return 2318
if len(set_ball & {19, 28, 39}) == 3: return 2319
if len(set_ball & {19, 28, 40}) == 3: return 2320
if len(set_ball & {19, 29, 30}) == 3: return 2321
if len(set_ball & {19, 29, 34}) == 3: return 2322
if len(set_ball & {19, 29, 37}) == 3: return 2323
if len(set_ball & {19, 29, 38}) == 3: return 2324
if len(set_ball & {19, 29, 41}) == 3: return 2325
if len(set_ball & {19, 29, 44}) == 3: return 2326
if len(set_ball & {19, 30, 32}) == 3: return 2327
if len(set_ball & {19, 31, 32}) == 3: return 2328
if len(set_ball & {19, 31, 37}) == 3: return 2329
if len(set_ball & {19, 31, 41}) == 3: return 2330
if len(set_ball & {19, 32, 39}) == 3: return 2331
if len(set_ball & {19, 32, 44}) == 3: return 2332
if len(set_ball & {19, 33, 37}) == 3: return 2333
if len(set_ball & {19, 35, 36}) == 3: return 2334
if len(set_ball & {19, 35, 37}) == 3: return 2335
if len(set_ball & {19, 35, 44}) == 3: return 2336
if len(set_ball & {19, 36, 37}) == 3: return 2337
if len(set_ball & {19, 36, 40}) == 3: return 2338
if len(set_ball & {19, 36, 41}) == 3: return 2339
if len(set_ball & {19, 38, 39}) == 3: return 2340
if len(set_ball & {19, 38, 45}) == 3: return 2341
if len(set_ball & {19, 39, 42}) == 3: return 2342
if len(set_ball & {19, 39, 45}) == 3: return 2343
if len(set_ball & {20, 21, 23}) == 3: return 2344
if len(set_ball & {20, 21, 27}) == 3: return 2345
if len(set_ball & {20, 21, 28}) == 3: return 2346
if len(set_ball & {20, 21, 31}) == 3: return 2347
if len(set_ball & {20, 21, 35}) == 3: return 2348
if len(set_ball & {20, 21, 36}) == 3: return 2349
if len(set_ball & {20, 21, 38}) == 3: return 2350
if len(set_ball & {20, 21, 42}) == 3: return 2351
if len(set_ball & {20, 21, 43}) == 3: return 2352
if len(set_ball & {20, 22, 31}) == 3: return 2353
if len(set_ball & {20, 22, 32}) == 3: return 2354
if len(set_ball & {20, 22, 35}) == 3: return 2355
if len(set_ball & {20, 22, 39}) == 3: return 2356
if len(set_ball & {20, 22, 45}) == 3: return 2357
if len(set_ball & {20, 23, 25}) == 3: return 2358
if len(set_ball & {20, 23, 33}) == 3: return 2359
if len(set_ball & {20, 23, 41}) == 3: return 2360
if len(set_ball & {20, 24, 26}) == 3: return 2361
if len(set_ball & {20, 24, 29}) == 3: return 2362
if len(set_ball & {20, 24, 35}) == 3: return 2363
if len(set_ball & {20, 25, 26}) == 3: return 2364
if len(set_ball & {20, 25, 27}) == 3: return 2365
if len(set_ball & {20, 25, 30}) == 3: return 2366
if len(set_ball & {20, 25, 35}) == 3: return 2367
if len(set_ball & {20, 25, 42}) == 3: return 2368
if len(set_ball & {20, 25, 44}) == 3: return 2369
if len(set_ball & {20, 26, 34}) == 3: return 2370
if len(set_ball & {20, 27, 29}) == 3: return 2371
if len(set_ball & {20, 27, 30}) == 3: return 2372
if len(set_ball & {20, 27, 34}) == 3: return 2373
if len(set_ball & {20, 27, 45}) == 3: return 2374
if len(set_ball & {20, 28, 29}) == 3: return 2375
if len(set_ball & {20, 28, 31}) == 3: return 2376
if len(set_ball & {20, 28, 33}) == 3: return 2377
if len(set_ball & {20, 28, 34}) == 3: return 2378
if len(set_ball & {20, 28, 42}) == 3: return 2379
if len(set_ball & {20, 28, 45}) == 3: return 2380
if len(set_ball & {20, 29, 30}) == 3: return 2381
if len(set_ball & {20, 29, 32}) == 3: return 2382
if len(set_ball & {20, 29, 37}) == 3: return 2383
if len(set_ball & {20, 29, 40}) == 3: return 2384
if len(set_ball & {20, 30, 32}) == 3: return 2385
if len(set_ball & {20, 30, 42}) == 3: return 2386
if len(set_ball & {20, 30, 43}) == 3: return 2387
if len(set_ball & {20, 31, 39}) == 3: return 2388
if len(set_ball & {20, 34, 36}) == 3: return 2389
if len(set_ball & {20, 34, 38}) == 3: return 2390
if len(set_ball & {20, 34, 39}) == 3: return 2391
if len(set_ball & {20, 37, 41}) == 3: return 2392
if len(set_ball & {20, 37, 44}) == 3: return 2393
if len(set_ball & {20, 38, 39}) == 3: return 2394
if len(set_ball & {20, 39, 40}) == 3: return 2395
if len(set_ball & {20, 39, 43}) == 3: return 2396
if len(set_ball & {20, 43, 45}) == 3: return 2397
if len(set_ball & {21, 22, 29}) == 3: return 2398
if len(set_ball & {21, 22, 40}) == 3: return 2399
if len(set_ball & {21, 22, 43}) == 3: return 2400
if len(set_ball & {21, 22, 45}) == 3: return 2401
if len(set_ball & {21, 23, 28}) == 3: return 2402
if len(set_ball & {21, 23, 29}) == 3: return 2403
if len(set_ball & {21, 23, 35}) == 3: return 2404
if len(set_ball & {21, 23, 36}) == 3: return 2405
if len(set_ball & {21, 23, 37}) == 3: return 2406
if len(set_ball & {21, 23, 38}) == 3: return 2407
if len(set_ball & {21, 23, 41}) == 3: return 2408
if len(set_ball & {21, 23, 42}) == 3: return 2409
if len(set_ball & {21, 24, 25}) == 3: return 2410
if len(set_ball & {21, 24, 28}) == 3: return 2411
if len(set_ball & {21, 24, 32}) == 3: return 2412
if len(set_ball & {21, 24, 34}) == 3: return 2413
if len(set_ball & {21, 24, 35}) == 3: return 2414
if len(set_ball & {21, 24, 38}) == 3: return 2415
if len(set_ball & {21, 25, 28}) == 3: return 2416
if len(set_ball & {21, 25, 31}) == 3: return 2417
if len(set_ball & {21, 25, 43}) == 3: return 2418
if len(set_ball & {21, 26, 28}) == 3: return 2419
if len(set_ball & {21, 27, 28}) == 3: return 2420
if len(set_ball & {21, 27, 30}) == 3: return 2421
if len(set_ball & {21, 28, 29}) == 3: return 2422
if len(set_ball & {21, 28, 30}) == 3: return 2423
if len(set_ball & {21, 28, 32}) == 3: return 2424
if len(set_ball & {21, 28, 33}) == 3: return 2425
if len(set_ball & {21, 28, 41}) == 3: return 2426
if len(set_ball & {21, 28, 44}) == 3: return 2427
if len(set_ball & {21, 29, 30}) == 3: return 2428
if len(set_ball & {21, 29, 36}) == 3: return 2429
if len(set_ball & {21, 29, 41}) == 3: return 2430
if len(set_ball & {21, 30, 31}) == 3: return 2431
if len(set_ball & {21, 30, 41}) == 3: return 2432
if len(set_ball & {21, 31, 34}) == 3: return 2433
if len(set_ball & {21, 31, 42}) == 3: return 2434
if len(set_ball & {21, 33, 43}) == 3: return 2435
if len(set_ball & {21, 33, 44}) == 3: return 2436
if len(set_ball & {21, 33, 45}) == 3: return 2437
if len(set_ball & {21, 34, 39}) == 3: return 2438
if len(set_ball & {21, 34, 40}) == 3: return 2439
if len(set_ball & {21, 36, 42}) == 3: return 2440
if len(set_ball & {21, 37, 39}) == 3: return 2441
if len(set_ball & {21, 39, 42}) == 3: return 2442
if len(set_ball & {21, 40, 43}) == 3: return 2443
if len(set_ball & {21, 41, 45}) == 3: return 2444
if len(set_ball & {21, 42, 43}) == 3: return 2445
if len(set_ball & {21, 42, 44}) == 3: return 2446
if len(set_ball & {21, 43, 45}) == 3: return 2447
if len(set_ball & {22, 23, 26}) == 3: return 2448
if len(set_ball & {22, 23, 27}) == 3: return 2449
if len(set_ball & {22, 23, 28}) == 3: return 2450
if len(set_ball & {22, 23, 31}) == 3: return 2451
if len(set_ball & {22, 23, 33}) == 3: return 2452
if len(set_ball & {22, 23, 39}) == 3: return 2453
if len(set_ball & {22, 23, 40}) == 3: return 2454
if len(set_ball & {22, 23, 41}) == 3: return 2455
if len(set_ball & {22, 23, 45}) == 3: return 2456
if len(set_ball & {22, 24, 25}) == 3: return 2457
if len(set_ball & {22, 24, 29}) == 3: return 2458
if len(set_ball & {22, 24, 39}) == 3: return 2459
if len(set_ball & {22, 24, 43}) == 3: return 2460
if len(set_ball & {22, 24, 45}) == 3: return 2461
if len(set_ball & {22, 25, 26}) == 3: return 2462
if len(set_ball & {22, 25, 27}) == 3: return 2463
if len(set_ball & {22, 25, 35}) == 3: return 2464
if len(set_ball & {22, 25, 39}) == 3: return 2465
if len(set_ball & {22, 26, 28}) == 3: return 2466
if len(set_ball & {22, 26, 32}) == 3: return 2467
if len(set_ball & {22, 27, 29}) == 3: return 2468
if len(set_ball & {22, 27, 32}) == 3: return 2469
if len(set_ball & {22, 27, 41}) == 3: return 2470
if len(set_ball & {22, 27, 45}) == 3: return 2471
if len(set_ball & {22, 28, 29}) == 3: return 2472
if len(set_ball & {22, 28, 30}) == 3: return 2473
if len(set_ball & {22, 29, 38}) == 3: return 2474
if len(set_ball & {22, 29, 41}) == 3: return 2475
if len(set_ball & {22, 29, 42}) == 3: return 2476
if len(set_ball & {22, 30, 31}) == 3: return 2477
if len(set_ball & {22, 30, 32}) == 3: return 2478
if len(set_ball & {22, 30, 33}) == 3: return 2479
if len(set_ball & {22, 31, 33}) == 3: return 2480
if len(set_ball & {22, 32, 37}) == 3: return 2481
if len(set_ball & {22, 32, 41}) == 3: return 2482
if len(set_ball & {22, 32, 43}) == 3: return 2483
if len(set_ball & {22, 33, 38}) == 3: return 2484
if len(set_ball & {22, 33, 39}) == 3: return 2485
if len(set_ball & {22, 33, 43}) == 3: return 2486
if len(set_ball & {22, 33, 44}) == 3: return 2487
if len(set_ball & {22, 34, 43}) == 3: return 2488
if len(set_ball & {22, 35, 44}) == 3: return 2489
if len(set_ball & {22, 35, 45}) == 3: return 2490
if len(set_ball & {22, 36, 43}) == 3: return 2491
if len(set_ball & {22, 39, 40}) == 3: return 2492
if len(set_ball & {22, 39, 42}) == 3: return 2493
if len(set_ball & {22, 39, 43}) == 3: return 2494
if len(set_ball & {22, 40, 41}) == 3: return 2495
if len(set_ball & {22, 40, 44}) == 3: return 2496
if len(set_ball & {22, 41, 44}) == 3: return 2497
if len(set_ball & {22, 41, 45}) == 3: return 2498
if len(set_ball & {22, 42, 44}) == 3: return 2499
if len(set_ball & {23, 24, 25}) == 3: return 2500
if len(set_ball & {23, 24, 26}) == 3: return 2501
if len(set_ball & {23, 24, 33}) == 3: return 2502
if len(set_ball & {23, 24, 34}) == 3: return 2503
if len(set_ball & {23, 24, 40}) == 3: return 2504
if len(set_ball & {23, 24, 41}) == 3: return 2505
if len(set_ball & {23, 24, 42}) == 3: return 2506
if len(set_ball & {23, 25, 26}) == 3: return 2507
if len(set_ball & {23, 25, 31}) == 3: return 2508
if len(set_ball & {23, 25, 34}) == 3: return 2509
if len(set_ball & {23, 26, 32}) == 3: return 2510
if len(set_ball & {23, 26, 34}) == 3: return 2511
if len(set_ball & {23, 26, 37}) == 3: return 2512
if len(set_ball & {23, 26, 38}) == 3: return 2513
if len(set_ball & {23, 26, 41}) == 3: return 2514
if len(set_ball & {23, 27, 30}) == 3: return 2515
if len(set_ball & {23, 27, 32}) == 3: return 2516
if len(set_ball & {23, 27, 37}) == 3: return 2517
if len(set_ball & {23, 27, 39}) == 3: return 2518
if len(set_ball & {23, 28, 31}) == 3: return 2519
if len(set_ball & {23, 28, 32}) == 3: return 2520
if len(set_ball & {23, 28, 41}) == 3: return 2521
if len(set_ball & {23, 29, 32}) == 3: return 2522
if len(set_ball & {23, 30, 31}) == 3: return 2523
if len(set_ball & {23, 30, 33}) == 3: return 2524
if len(set_ball & {23, 30, 39}) == 3: return 2525
if len(set_ball & {23, 30, 42}) == 3: return 2526
if len(set_ball & {23, 31, 32}) == 3: return 2527
if len(set_ball & {23, 31, 41}) == 3: return 2528
if len(set_ball & {23, 31, 42}) == 3: return 2529
if len(set_ball & {23, 32, 33}) == 3: return 2530
if len(set_ball & {23, 32, 35}) == 3: return 2531
if len(set_ball & {23, 32, 37}) == 3: return 2532
if len(set_ball & {23, 32, 41}) == 3: return 2533
if len(set_ball & {23, 32, 42}) == 3: return 2534
if len(set_ball & {23, 33, 38}) == 3: return 2535
if len(set_ball & {23, 33, 45}) == 3: return 2536
if len(set_ball & {23, 34, 37}) == 3: return 2537
if len(set_ball & {23, 35, 39}) == 3: return 2538
if len(set_ball & {23, 35, 41}) == 3: return 2539
if len(set_ball & {23, 35, 42}) == 3: return 2540
if len(set_ball & {23, 36, 42}) == 3: return 2541
if len(set_ball & {23, 37, 41}) == 3: return 2542
if len(set_ball & {23, 37, 44}) == 3: return 2543
if len(set_ball & {23, 38, 41}) == 3: return 2544
if len(set_ball & {23, 38, 44}) == 3: return 2545
if len(set_ball & {23, 39, 40}) == 3: return 2546
if len(set_ball & {23, 39, 41}) == 3: return 2547
if len(set_ball & {23, 40, 42}) == 3: return 2548
if len(set_ball & {23, 40, 43}) == 3: return 2549
if len(set_ball & {23, 41, 42}) == 3: return 2550
if len(set_ball & {24, 25, 28}) == 3: return 2551
if len(set_ball & {24, 25, 41}) == 3: return 2552
if len(set_ball & {24, 25, 42}) == 3: return 2553
if len(set_ball & {24, 25, 45}) == 3: return 2554
if len(set_ball & {24, 26, 27}) == 3: return 2555
if len(set_ball & {24, 26, 28}) == 3: return 2556
if len(set_ball & {24, 26, 31}) == 3: return 2557
if len(set_ball & {24, 26, 32}) == 3: return 2558
if len(set_ball & {24, 26, 33}) == 3: return 2559
if len(set_ball & {24, 26, 43}) == 3: return 2560
if len(set_ball & {24, 26, 44}) == 3: return 2561
if len(set_ball & {24, 27, 33}) == 3: return 2562
if len(set_ball & {24, 27, 38}) == 3: return 2563
if len(set_ball & {24, 27, 40}) == 3: return 2564
if len(set_ball & {24, 28, 29}) == 3: return 2565
if len(set_ball & {24, 28, 31}) == 3: return 2566
if len(set_ball & {24, 28, 33}) == 3: return 2567
if len(set_ball & {24, 28, 34}) == 3: return 2568
if len(set_ball & {24, 28, 41}) == 3: return 2569
if len(set_ball & {24, 28, 42}) == 3: return 2570
if len(set_ball & {24, 28, 43}) == 3: return 2571
if len(set_ball & {24, 28, 44}) == 3: return 2572
if len(set_ball & {24, 28, 45}) == 3: return 2573
if len(set_ball & {24, 29, 32}) == 3: return 2574
if len(set_ball & {24, 29, 36}) == 3: return 2575
if len(set_ball & {24, 29, 39}) == 3: return 2576
if len(set_ball & {24, 30, 37}) == 3: return 2577
if len(set_ball & {24, 30, 40}) == 3: return 2578
if len(set_ball & {24, 30, 42}) == 3: return 2579
if len(set_ball & {24, 30, 43}) == 3: return 2580
if len(set_ball & {24, 30, 44}) == 3: return 2581
if len(set_ball & {24, 31, 35}) == 3: return 2582
if len(set_ball & {24, 31, 37}) == 3: return 2583
if len(set_ball & {24, 31, 38}) == 3: return 2584
if len(set_ball & {24, 31, 41}) == 3: return 2585
if len(set_ball & {24, 31, 43}) == 3: return 2586
if len(set_ball & {24, 31, 45}) == 3: return 2587
if len(set_ball & {24, 32, 43}) == 3: return 2588
if len(set_ball & {24, 33, 43}) == 3: return 2589
if len(set_ball & {24, 34, 37}) == 3: return 2590
if len(set_ball & {24, 34, 43}) == 3: return 2591
if len(set_ball & {24, 35, 39}) == 3: return 2592
if len(set_ball & {24, 35, 41}) == 3: return 2593
if len(set_ball & {24, 35, 42}) == 3: return 2594
if len(set_ball & {24, 36, 42}) == 3: return 2595
if len(set_ball & {24, 36, 43}) == 3: return 2596
if len(set_ball & {24, 37, 39}) == 3: return 2597
if len(set_ball & {24, 37, 42}) == 3: return 2598
if len(set_ball & {24, 37, 43}) == 3: return 2599
if len(set_ball & {24, 38, 41}) == 3: return 2600
if len(set_ball & {24, 38, 43}) == 3: return 2601
if len(set_ball & {24, 39, 43}) == 3: return 2602
if len(set_ball & {24, 40, 45}) == 3: return 2603
if len(set_ball & {24, 42, 43}) == 3: return 2604
if len(set_ball & {25, 26, 28}) == 3: return 2605
if len(set_ball & {25, 26, 32}) == 3: return 2606
if len(set_ball & {25, 26, 35}) == 3: return 2607
if len(set_ball & {25, 26, 39}) == 3: return 2608
if len(set_ball & {25, 26, 41}) == 3: return 2609
if len(set_ball & {25, 26, 42}) == 3: return 2610
if len(set_ball & {25, 27, 28}) == 3: return 2611
if len(set_ball & {25, 27, 30}) == 3: return 2612
if len(set_ball & {25, 27, 33}) == 3: return 2613
if len(set_ball & {25, 27, 42}) == 3: return 2614
if len(set_ball & {25, 28, 31}) == 3: return 2615
if len(set_ball & {25, 28, 34}) == 3: return 2616
if len(set_ball & {25, 28, 35}) == 3: return 2617
if len(set_ball & {25, 28, 40}) == 3: return 2618
if len(set_ball & {25, 28, 41}) == 3: return 2619
if len(set_ball & {25, 29, 39}) == 3: return 2620
if len(set_ball & {25, 29, 41}) == 3: return 2621
if len(set_ball & {25, 30, 34}) == 3: return 2622
if len(set_ball & {25, 30, 35}) == 3: return 2623
if len(set_ball & {25, 30, 37}) == 3: return 2624
if len(set_ball & {25, 30, 38}) == 3: return 2625
if len(set_ball & {25, 30, 39}) == 3: return 2626
if len(set_ball & {25, 31, 35}) == 3: return 2627
if len(set_ball & {25, 31, 41}) == 3: return 2628
if len(set_ball & {25, 31, 42}) == 3: return 2629
if len(set_ball & {25, 32, 34}) == 3: return 2630
if len(set_ball & {25, 32, 35}) == 3: return 2631
if len(set_ball & {25, 32, 38}) == 3: return 2632
if len(set_ball & {25, 32, 39}) == 3: return 2633
if len(set_ball & {25, 32, 41}) == 3: return 2634
if len(set_ball & {25, 33, 37}) == 3: return 2635
if len(set_ball & {25, 33, 42}) == 3: return 2636
if len(set_ball & {25, 34, 42}) == 3: return 2637
if len(set_ball & {25, 34, 43}) == 3: return 2638
if len(set_ball & {25, 34, 45}) == 3: return 2639
if len(set_ball & {25, 36, 41}) == 3: return 2640
if len(set_ball & {25, 37, 40}) == 3: return 2641
if len(set_ball & {25, 38, 43}) == 3: return 2642
if len(set_ball & {25, 39, 41}) == 3: return 2643
if len(set_ball & {25, 40, 41}) == 3: return 2644
if len(set_ball & {25, 41, 42}) == 3: return 2645
if len(set_ball & {25, 41, 43}) == 3: return 2646
if len(set_ball & {25, 42, 44}) == 3: return 2647
if len(set_ball & {25, 43, 45}) == 3: return 2648
if len(set_ball & {26, 28, 38}) == 3: return 2649
if len(set_ball & {26, 28, 39}) == 3: return 2650
if len(set_ball & {26, 29, 32}) == 3: return 2651
if len(set_ball & {26, 29, 35}) == 3: return 2652
if len(set_ball & {26, 30, 37}) == 3: return 2653
if len(set_ball & {26, 30, 44}) == 3: return 2654
if len(set_ball & {26, 32, 37}) == 3: return 2655
if len(set_ball & {26, 32, 41}) == 3: return 2656
if len(set_ball & {26, 32, 43}) == 3: return 2657
if len(set_ball & {26, 32, 44}) == 3: return 2658
if len(set_ball & {26, 32, 45}) == 3: return 2659
if len(set_ball & {26, 34, 35}) == 3: return 2660
if len(set_ball & {26, 34, 37}) == 3: return 2661
if len(set_ball & {26, 34, 39}) == 3: return 2662
if len(set_ball & {26, 35, 36}) == 3: return 2663
if len(set_ball & {26, 35, 41}) == 3: return 2664
if len(set_ball & {26, 35, 44}) == 3: return 2665
if len(set_ball & {26, 35, 45}) == 3: return 2666
if len(set_ball & {26, 36, 38}) == 3: return 2667
if len(set_ball & {26, 38, 42}) == 3: return 2668
if len(set_ball & {26, 38, 44}) == 3: return 2669
if len(set_ball & {26, 39, 43}) == 3: return 2670
if len(set_ball & {26, 40, 44}) == 3: return 2671
if len(set_ball & {26, 40, 45}) == 3: return 2672
if len(set_ball & {26, 41, 43}) == 3: return 2673
if len(set_ball & {26, 41, 44}) == 3: return 2674
if len(set_ball & {27, 28, 31}) == 3: return 2675
if len(set_ball & {27, 28, 33}) == 3: return 2676
if len(set_ball & {27, 28, 34}) == 3: return 2677
if len(set_ball & {27, 29, 32}) == 3: return 2678
if len(set_ball & {27, 29, 39}) == 3: return 2679
if len(set_ball & {27, 31, 33}) == 3: return 2680
if len(set_ball & {27, 32, 33}) == 3: return 2681
if len(set_ball & {27, 32, 35}) == 3: return 2682
if len(set_ball & {27, 32, 36}) == 3: return 2683
if len(set_ball & {27, 32, 39}) == 3: return 2684
if len(set_ball & {27, 32, 41}) == 3: return 2685
if len(set_ball & {27, 32, 43}) == 3: return 2686
if len(set_ball & {27, 32, 44}) == 3: return 2687
if len(set_ball & {27, 33, 34}) == 3: return 2688
if len(set_ball & {27, 33, 42}) == 3: return 2689
if len(set_ball & {27, 34, 37}) == 3: return 2690
if len(set_ball & {27, 36, 42}) == 3: return 2691
if len(set_ball & {27, 37, 38}) == 3: return 2692
if len(set_ball & {27, 39, 41}) == 3: return 2693
if len(set_ball & {27, 39, 42}) == 3: return 2694
if len(set_ball & {27, 42, 44}) == 3: return 2695
if len(set_ball & {28, 29, 31}) == 3: return 2696
if len(set_ball & {28, 29, 32}) == 3: return 2697
if len(set_ball & {28, 29, 35}) == 3: return 2698
if len(set_ball & {28, 29, 37}) == 3: return 2699
if len(set_ball & {28, 29, 38}) == 3: return 2700
if len(set_ball & {28, 29, 41}) == 3: return 2701
if len(set_ball & {28, 29, 42}) == 3: return 2702
if len(set_ball & {28, 29, 45}) == 3: return 2703
if len(set_ball & {28, 30, 31}) == 3: return 2704
if len(set_ball & {28, 30, 37}) == 3: return 2705
if len(set_ball & {28, 30, 40}) == 3: return 2706
if len(set_ball & {28, 31, 35}) == 3: return 2707
if len(set_ball & {28, 31, 37}) == 3: return 2708
if len(set_ball & {28, 31, 40}) == 3: return 2709
if len(set_ball & {28, 31, 42}) == 3: return 2710
if len(set_ball & {28, 32, 33}) == 3: return 2711
if len(set_ball & {28, 32, 35}) == 3: return 2712
if len(set_ball & {28, 32, 39}) == 3: return 2713
if len(set_ball & {28, 32, 41}) == 3: return 2714
if len(set_ball & {28, 32, 42}) == 3: return 2715
if len(set_ball & {28, 32, 43}) == 3: return 2716
if len(set_ball & {28, 32, 44}) == 3: return 2717
if len(set_ball & {28, 33, 34}) == 3: return 2718
if len(set_ball & {28, 33, 43}) == 3: return 2719
if len(set_ball & {28, 34, 37}) == 3: return 2720
if len(set_ball & {28, 35, 36}) == 3: return 2721
if len(set_ball & {28, 35, 45}) == 3: return 2722
if len(set_ball & {28, 36, 37}) == 3: return 2723
if len(set_ball & {28, 36, 38}) == 3: return 2724
if len(set_ball & {28, 36, 43}) == 3: return 2725
if len(set_ball & {28, 37, 41}) == 3: return 2726
if len(set_ball & {28, 38, 41}) == 3: return 2727
if len(set_ball & {28, 39, 44}) == 3: return 2728
if len(set_ball & {28, 40, 42}) == 3: return 2729
if len(set_ball & {28, 40, 44}) == 3: return 2730
if len(set_ball & {28, 40, 45}) == 3: return 2731
if len(set_ball & {28, 41, 45}) == 3: return 2732
if len(set_ball & {28, 42, 44}) == 3: return 2733
if len(set_ball & {28, 44, 45}) == 3: return 2734
if len(set_ball & {29, 30, 32}) == 3: return 2735
if len(set_ball & {29, 30, 36}) == 3: return 2736
if len(set_ball & {29, 30, 40}) == 3: return 2737
if len(set_ball & {29, 31, 41}) == 3: return 2738
if len(set_ball & {29, 32, 34}) == 3: return 2739
if len(set_ball & {29, 32, 35}) == 3: return 2740
if len(set_ball & {29, 32, 41}) == 3: return 2741
if len(set_ball & {29, 33, 36}) == 3: return 2742
if len(set_ball & {29, 34, 41}) == 3: return 2743
if len(set_ball & {29, 34, 42}) == 3: return 2744
if len(set_ball & {29, 34, 43}) == 3: return 2745
if len(set_ball & {29, 35, 39}) == 3: return 2746
if len(set_ball & {29, 35, 41}) == 3: return 2747
if len(set_ball & {29, 35, 45}) == 3: return 2748
if len(set_ball & {29, 36, 42}) == 3: return 2749
if len(set_ball & {29, 36, 44}) == 3: return 2750
if len(set_ball & {29, 37, 42}) == 3: return 2751
if len(set_ball & {29, 37, 44}) == 3: return 2752
if len(set_ball & {29, 41, 43}) == 3: return 2753
if len(set_ball & {29, 42, 44}) == 3: return 2754
if len(set_ball & {29, 44, 45}) == 3: return 2755
if len(set_ball & {30, 31, 32}) == 3: return 2756
if len(set_ball & {30, 31, 35}) == 3: return 2757
if len(set_ball & {30, 31, 36}) == 3: return 2758
if len(set_ball & {30, 32, 36}) == 3: return 2759
if len(set_ball & {30, 32, 44}) == 3: return 2760
if len(set_ball & {30, 33, 40}) == 3: return 2761
if len(set_ball & {30, 35, 45}) == 3: return 2762
if len(set_ball & {30, 36, 40}) == 3: return 2763
if len(set_ball & {30, 37, 42}) == 3: return 2764
if len(set_ball & {30, 38, 42}) == 3: return 2765
if len(set_ball & {30, 40, 45}) == 3: return 2766
if len(set_ball & {30, 43, 44}) == 3: return 2767
if len(set_ball & {30, 44, 45}) == 3: return 2768
if len(set_ball & {31, 32, 35}) == 3: return 2769
if len(set_ball & {31, 32, 42}) == 3: return 2770
if len(set_ball & {31, 32, 44}) == 3: return 2771
if len(set_ball & {31, 33, 35}) == 3: return 2772
if len(set_ball & {31, 33, 39}) == 3: return 2773
if len(set_ball & {31, 33, 43}) == 3: return 2774
if len(set_ball & {31, 34, 41}) == 3: return 2775
if len(set_ball & {31, 35, 36}) == 3: return 2776
if len(set_ball & {31, 35, 41}) == 3: return 2777
if len(set_ball & {31, 35, 42}) == 3: return 2778
if len(set_ball & {31, 36, 39}) == 3: return 2779
if len(set_ball & {31, 36, 41}) == 3: return 2780
if len(set_ball & {31, 36, 42}) == 3: return 2781
if len(set_ball & {31, 37, 39}) == 3: return 2782
if len(set_ball & {31, 37, 45}) == 3: return 2783
if len(set_ball & {31, 38, 42}) == 3: return 2784
if len(set_ball & {31, 39, 42}) == 3: return 2785
if len(set_ball & {31, 42, 44}) == 3: return 2786
if len(set_ball & {31, 42, 45}) == 3: return 2787
if len(set_ball & {32, 34, 35}) == 3: return 2788
if len(set_ball & {32, 34, 37}) == 3: return 2789
if len(set_ball & {32, 35, 38}) == 3: return 2790
if len(set_ball & {32, 35, 39}) == 3: return 2791
if len(set_ball & {32, 35, 41}) == 3: return 2792
if len(set_ball & {32, 35, 42}) == 3: return 2793
if len(set_ball & {32, 35, 43}) == 3: return 2794
if len(set_ball & {32, 36, 37}) == 3: return 2795
if len(set_ball & {32, 36, 41}) == 3: return 2796
if len(set_ball & {32, 36, 44}) == 3: return 2797
if len(set_ball & {32, 37, 38}) == 3: return 2798
if len(set_ball & {32, 37, 42}) == 3: return 2799
if len(set_ball & {32, 38, 41}) == 3: return 2800
if len(set_ball & {32, 38, 45}) == 3: return 2801
if len(set_ball & {32, 39, 44}) == 3: return 2802
if len(set_ball & {32, 40, 44}) == 3: return 2803
if len(set_ball & {32, 41, 44}) == 3: return 2804
if len(set_ball & {32, 42, 43}) == 3: return 2805
if len(set_ball & {32, 42, 45}) == 3: return 2806
if len(set_ball & {32, 43, 45}) == 3: return 2807
if len(set_ball & {33, 34, 41}) == 3: return 2808
if len(set_ball & {33, 34, 45}) == 3: return 2809
if len(set_ball & {33, 35, 42}) == 3: return 2810
if len(set_ball & {33, 37, 39}) == 3: return 2811
if len(set_ball & {33, 38, 41}) == 3: return 2812
if len(set_ball & {33, 38, 43}) == 3: return 2813
if len(set_ball & {33, 38, 44}) == 3: return 2814
if len(set_ball & {33, 39, 42}) == 3: return 2815
if len(set_ball & {33, 39, 43}) == 3: return 2816
if len(set_ball & {33, 39, 45}) == 3: return 2817
if len(set_ball & {33, 41, 43}) == 3: return 2818
if len(set_ball & {33, 43, 44}) == 3: return 2819
if len(set_ball & {34, 35, 38}) == 3: return 2820
if len(set_ball & {34, 36, 38}) == 3: return 2821
if len(set_ball & {34, 36, 39}) == 3: return 2822
if len(set_ball & {34, 36, 43}) == 3: return 2823
if len(set_ball & {34, 37, 41}) == 3: return 2824
if len(set_ball & {34, 37, 42}) == 3: return 2825
if len(set_ball & {34, 37, 43}) == 3: return 2826
if len(set_ball & {34, 37, 44}) == 3: return 2827
if len(set_ball & {34, 38, 44}) == 3: return 2828
if len(set_ball & {35, 36, 38}) == 3: return 2829
if len(set_ball & {35, 37, 38}) == 3: return 2830
if len(set_ball & {35, 38, 42}) == 3: return 2831
if len(set_ball & {35, 39, 40}) == 3: return 2832
if len(set_ball & {35, 40, 41}) == 3: return 2833
if len(set_ball & {35, 40, 43}) == 3: return 2834
if len(set_ball & {36, 37, 39}) == 3: return 2835
if len(set_ball & {36, 38, 42}) == 3: return 2836
if len(set_ball & {37, 39, 42}) == 3: return 2837
if len(set_ball & {37, 42, 44}) == 3: return 2838
if len(set_ball & {38, 39, 45}) == 3: return 2839
if len(set_ball & {38, 40, 41}) == 3: return 2840
if len(set_ball & {38, 41, 42}) == 3: return 2841
if len(set_ball & {38, 42, 44}) == 3: return 2842
if len(set_ball & {38, 43, 45}) == 3: return 2843
if len(set_ball & {38, 44, 45}) == 3: return 2844
if len(set_ball & {39, 40, 42}) == 3: return 2845
if len(set_ball & {39, 40, 45}) == 3: return 2846
if len(set_ball & {39, 42, 43}) == 3: return 2847
if len(set_ball & {39, 42, 44}) == 3: return 2848
if len(set_ball & {40, 43, 45}) == 3: return 2849
if len(set_ball & {40, 44, 45}) == 3: return 2850
if len(set_ball & {41, 42, 44}) == 3: return 2851
if len(set_ball & {1, 9, 12}) == 3: return 2852
if len(set_ball & {1, 9, 28}) == 3: return 2853
if len(set_ball & {1, 12, 23}) == 3: return 2854
if len(set_ball & {1, 28, 41}) == 3: return 2855
if len(set_ball & {2, 25, 28}) == 3: return 2856
if len(set_ball & {2, 26, 43}) == 3: return 2857
if len(set_ball & {3, 32, 45}) == 3: return 2858
if len(set_ball & {4, 12, 24}) == 3: return 2859
if len(set_ball & {4, 26, 33}) == 3: return 2860
if len(set_ball & {4, 28, 40}) == 3: return 2861
if len(set_ball & {4, 33, 40}) == 3: return 2862
if len(set_ball & {6, 7, 15}) == 3: return 2863
if len(set_ball & {6, 14, 21}) == 3: return 2864
if len(set_ball & {6, 18, 31}) == 3: return 2865
if len(set_ball & {7, 18, 23}) == 3: return 2866
if len(set_ball & {7, 22, 40}) == 3: return 2867
if len(set_ball & {7, 42, 45}) == 3: return 2868
if len(set_ball & {8, 17, 27}) == 3: return 2869
if len(set_ball & {8, 18, 45}) == 3: return 2870
if len(set_ball & {8, 19, 21}) == 3: return 2871
if len(set_ball & {8, 21, 31}) == 3: return 2872
if len(set_ball & {10, 11, 39}) == 3: return 2873
if len(set_ball & {10, 16, 41}) == 3: return 2874
if len(set_ball & {11, 14, 21}) == 3: return 2875
if len(set_ball & {11, 16, 21}) == 3: return 2876
if len(set_ball & {11, 17, 21}) == 3: return 2877
if len(set_ball & {11, 19, 21}) == 3: return 2878
if len(set_ball & {11, 26, 44}) == 3: return 2879
if len(set_ball & {11, 29, 44}) == 3: return 2880
if len(set_ball & {12, 13, 32}) == 3: return 2881
if len(set_ball & {12, 13, 33}) == 3: return 2882
if len(set_ball & {12, 15, 34}) == 3: return 2883
if len(set_ball & {12, 24, 27}) == 3: return 2884
if len(set_ball & {12, 33, 40}) == 3: return 2885
if len(set_ball & {12, 33, 42}) == 3: return 2886
if len(set_ball & {12, 34, 42}) == 3: return 2887
if len(set_ball & {13, 29, 39}) == 3: return 2888
if len(set_ball & {13, 33, 45}) == 3: return 2889
if len(set_ball & {14, 27, 30}) == 3: return 2890
if len(set_ball & {14, 31, 40}) == 3: return 2891
if len(set_ball & {14, 35, 39}) == 3: return 2892
if len(set_ball & {15, 21, 34}) == 3: return 2893
#if len(set_ball & {16, 25, 36}) == 2: return 2894
if len(set_ball & {16, 27, 35}) == 3: return 2895
if len(set_ball & {16, 31, 36}) == 3: return 2896
if len(set_ball & {17, 30, 31}) == 3: return 2897
if len(set_ball & {17, 34, 45}) == 3: return 2898
if len(set_ball & {18, 30, 34}) == 3: return 2899
if len(set_ball & {18, 30, 41}) == 3: return 2900
if len(set_ball & {18, 31, 38}) == 3: return 2901
if len(set_ball & {19, 21, 45}) == 3: return 2902
if len(set_ball & {20, 26, 35}) == 3: return 2903
if len(set_ball & {21, 34, 44}) == 3: return 2904
if len(set_ball & {23, 29, 44}) == 3: return 2905
if len(set_ball & {23, 30, 34}) == 3: return 2906
if len(set_ball & {24, 27, 35}) == 3: return 2907
if len(set_ball & {27, 29, 40}) == 3: return 2908
if len(set_ball & {30, 39, 43}) == 3: return 2909
if len(set_ball & {32, 33, 40}) == 3: return 2910
if len(set_ball & {32, 40, 41}) == 3: return 2911
if len(set_ball & {34, 42, 45}) == 3: return 2912
if len(set_ball & {35, 43, 45}) == 3: return 2913
if len(set_ball & {1, 3, 27}) == 3: return 2914
if len(set_ball & {3, 12, 13}) == 3: return 2915
if len(set_ball & {3, 20, 24}) == 3: return 2916
if len(set_ball & {6, 18, 38}) == 3: return 2917
if len(set_ball & {6, 37, 38}) == 3: return 2918
if len(set_ball & {12, 15, 24}) == 3: return 2919
#if len(set_ball & {14, 30, 38}) == 2: return 2920
if len(set_ball & {15, 28, 34}) == 3: return 2921
if len(set_ball & {17, 26, 36}) == 3: return 2922
if len(set_ball & {18, 31, 34}) == 3: return 2923
if len(set_ball & {21, 26, 36}) == 3: return 2924
if len(set_ball & {23, 35, 43}) == 3: return 2925
if len(set_ball & {33, 37, 40}) == 3: return 2926
if len(set_ball & {3, 8, 27}) == 3: return 2927
if len(set_ball & {3, 20, 44}) == 3: return 2928
return None
def extract_final_candidates(self, ball, no=None, until_end=False, df=None):
p_ball = df[df['no'] == no - 1].values.tolist()[0]
p_ball = p_ball[1:7]
filter_set = set()
### S: 이전 당첨 번호
if no is not None:
if self.hasWon(ball, no):
# 이전 당첨된 번호인지 확인
filter_set.add('이전 당첨 번호')
if not until_end:
return filter_set
### E: 이전 당첨 번호
### S: 당첨번호 6개 합
acc = sum(ball)
if acc not in {112,114,121,123,126,127,131,132,138,146,148,156,154,163,165,167,172,174,183}:
filter_set.add('6개 합: {}'.format(acc))
if not until_end:
return filter_set
p_acc = sum(p_ball)
### E: 당첨번호 6개 합
### S: 당첨번호 6개 합에 대한 전주와 차이
if abs(acc - p_acc) not in {2,3,4,6,7,8,9,10,11,12,13,14,15,17,18,24,25,26,27,28,29,30,31,32,33,34,39,40,51}:
# 첫수와 끝수의 합에 대해서 전주 금주의 차이
filter_set.add('6개 합 전주차: {}'.format(abs(acc - p_acc)))
if not until_end:
return filter_set
### E: 당첨번호 6개 합에 대한 전주와 차이
### S: 당첨번호 6개 평균
acc = sum(ball)
avg = int(acc / 6)
if avg not in [18,19,20,21,22,23,24,25,26,27,28,29,30]:
# 모든 볼의 합 평균
filter_set.add('6개 평균: {}'.format(avg))
if not until_end:
return filter_set
### E: 당첨번호 6개 평균
### S: 당첨번호 6개 평균에 대한 전주와 차이
pAcc = sum(p_ball)
pAvg = int(pAcc / 6)
diff = abs(avg - pAvg)
if diff not in [0,1,2,3,4,5,6,7,8,9]:
# 모든 볼의 합 평균
filter_set.add('6개 평균 전주차: {}'.format(diff))
if not until_end:
return filter_set
### E: 당첨번호 6개 평균에 대한 전주와 차이
### S: 앞 3개 볼의 합
acc = ball[0] + ball[1] + ball[2]
if acc not in [20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,42,45,46,47,48,49,50,51,52,53,54,55,56,59,65,66,67,68,69,70]:
# 앞 3개 당번첨호의 합
filter_set.add('b1+b2+b3: 68.9%')
if not until_end:
return filter_set
### E: 앞 3개 볼의 합
### S: 앞 3개 볼의 합에 대한 전주와 차이
p_acc = p_ball[0] + p_ball[1] + p_ball[2]
if abs(acc - p_acc) not in [6,7,8,9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25]:
# 두자리 중 첫자리 숫자의 sum이 전주와 같으면 필터
filter_set.add('b1+b2+b3 전주차: 96.5%')
if not until_end:
return filter_set
### E: 앞 3개 볼의 합에 대한 전주와 차이
### S: 뒤 3개 볼의 합
acc = ball[3] + ball[4] + ball[5]
if acc not in [86,87,88,89,90,91,92,93,94,95,96,98,99,100,101,102,103,104,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125]:
# 뒤 3개 당번첨호의 합
filter_set.add('b4+b5+b6: {}'.format(acc))
if not until_end:
return filter_set
### E: 뒤 3개 볼의 합
### S: 뒤 3개 볼의 합에 대한 전주와 차이
p_acc = p_ball[3] + p_ball[4] + p_ball[5]
if abs(acc - p_acc) not in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,24,25,26,27,28,29,30,31]:
# 두자리 중 첫자리 숫자의 sum이 전주와 같으면 필터
filter_set.add('b4+b5+b6 전주차: {}'.format(abs(acc - p_acc)))
if not until_end:
return filter_set
### E: 뒤 3개 볼의 합
### S: 23기준 작은 숫자 개수와 큰 숫자 개수 (23보다 작은 숫자의 개수와 큰 숫자의 개수)
l, h = self.getHigLowRate(ball)
if l in [0, 1] or h in [0, 1]:
# (고저 비율) 45개 번호중 23 아래를 저, 위를 고로 분류한 비율 (일반적으로 0:4, 2:2, 4:0 가 많음)
# 23 이하가 1개 이하이거나 23이상이 1개 이하인 경우 제외
filter_set.add('high/low: 0/0, 0/1, 1/0')
if not until_end:
return filter_set
### E: 23기준 작은 숫자 개수와 큰 숫자 개수
### S: 고저합 (가장 큰 수와 가작 작은 숫자의 합)
acc = ball[0] + ball[5]
if acc not in [38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]:
filter_set.add('고저합: 81.8%')
if not until_end:
return filter_set
### E: 고저합 (가장 큰 수와 가작 작은 숫자의 합)
### S: 고저합 (가장 큰 수와 가작 작은 숫자의 합)에 대한 전주와 차이
p_acc = p_ball[0] + p_ball[5]
if abs(acc - p_acc) not in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]:
# 첫수와 끝수의 합에 대해서 전주 금주의 차이
filter_set.add('고저합 전주차: 85.4%')
if not until_end:
return filter_set
### E: 고저합 (가장 큰 수와 가작 작은 숫자의 합)에 대한 전주와 차이
### S: ball 간격의 합
interval_sum = self.get_ball_interval(ball)
if interval_sum not in {27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44}:
filter_set.add('Interval_sum: 78.5%')
if not until_end:
return filter_set
### S: ball 간격의 합
### E: ball 간격의 합에 대한 전주와 차이
p_interval_sum = self.get_ball_interval(p_ball)
if abs(interval_sum-p_interval_sum) not in {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}:
filter_set.add('Interval_sum 전주차: 90.6%')
if not until_end:
return filter_set
### E: ball 간격의 합에 대한 전주와 차이
### S: 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 28은 2)
firstLetterSum = self.getFirstLetterSumBall(ball)
if firstLetterSum not in [8,9,10,11,12,13,14,15]:
filter_set.add('첫수합: 92.2%')
if not until_end:
return filter_set
### S: 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 27은 2)
### E: 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 28은 2)에 대한 전주와 차이
p_firstLetterSum = self.getFirstLetterSumBall(p_ball)
if abs(firstLetterSum-p_firstLetterSum) not in [0,1,2,3,4,5,6]:
filter_set.add('첫수합 전주차: 91.1%')
if not until_end:
return filter_set
### E: 두 자리 중 첫자리 숫자의 합 (예, 8은 0, 15는 1, 27은 2)에 대한 전주와 차이
### S: 두 자리 중 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)
lastLetterSum = self.getLastLetterSumBall(ball)
if lastLetterSum not in [16,21,23,24,25,26,27,28,29,30,31,32,33,34,36,37,38]:
filter_set.add('끝수합: 95.5%')
if not until_end:
return filter_set
### E: 두 자리 중 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)
### S: 두 자리 중 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)에 대한 전주와 차이
p_lastLetterSum = self.getLastLetterSumBall(p_ball)
if abs(lastLetterSum-p_lastLetterSum) not in [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]:
filter_set.add('끝수합 전주차: 90.6%')
if not until_end:
return filter_set
### E: 두번째 자리 숫자의 합 (예, 8은 8, 15는 5, 27은 7)에 대한 전주와 차이
### S: 첫번째 숫자
if ball[0] not in [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14]:
# 첫 볼이 11 이상은 제거
filter_set.add('첫수: 70.6%')
if not until_end:
return filter_set
### E: 첫번째 숫자
### S: 첫번째 숫자에 대한 전주와 차이
if abs(ball[0] - p_ball[0]) not in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]:
# 첫 볼과 이전 첫 볼의 비교
filter_set.add('전주와 첫수 차: {}'.format(abs(ball[0] - p_ball[0])))
if not until_end:
return filter_set
### E: 첫번째 숫자에 대한 전주와 차이
### S: 마지막 숫자
if ball[5] not in [36, 38, 39, 40, 41, 42, 43, 44, 45]:
filter_set.add('마지막 공: 81.2%')
if not until_end:
return filter_set
### E: 마지막 숫자
### E: 마지막 숫자에 대한 전주와 차이
if abs(ball[5] - p_ball[5]) not in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
# 마지막 볼이 30이하는 제거
filter_set.add('마지막 공: 81.8%')
if not until_end:
return filter_set
### E: 마지막 숫자에 대한 전주와 차이
### S: Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)
uniq_last_count = self.filterOneDigitPattern(ball)
if uniq_last_count not in {4,5,6}:
# 끝수의 형태
filter_set.add('Unique 끝수 개수: 96%')
if not until_end:
return filter_set
### E: Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)
### S: Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)에 대한 전주와 차이
p_uniq_last_count = self.filterOneDigitPattern(p_ball)
if abs(uniq_last_count-p_uniq_last_count) not in {0,1}:
# 끝수의 형태
filter_set.add('Unique 끝수 개수: 82.6%')
if not until_end:
return filter_set
### E: Uniq한 끝자리 숫자 개수 ([8, 18, 22, 31, 40, 44]는 8, 2, 1, 0, 4 이렇게 5개임)에 대한 전주와 차이
### S: AC 값
ac_value = self.getACValue(ball)
if ac_value not in {7,8,9,10}:
# AC 값에 의한 필터
filter_set.add('ac: 94.4%')
if not until_end:
return filter_set
### E: AC 값
### S: AC 값에 대한 전주와 차이
p_ac_value = self.getACValue(p_ball)
if abs(ac_value-p_ac_value) not in {0,1,2,3}:
# AC 값에 의한 필터
filter_set.add('ac 전주: 91.0%')
if not until_end:
return filter_set
### E: AC 값에 대한 전주와 차이
### S: 3의 배수의 개수
n_mul = 3
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {2, 1, 3}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 3의 배수의 개수
### S: 3의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1, 2}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 91.3))
if not until_end:
return filter_set
### E: 3의 배수의 개수에 대한 전주와 차이
### S: 4의 배수의 개수
n_mul = 4
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1, 2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 4의 배수의 개수
### S: 4의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1, 2}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 92.3))
if not until_end:
return filter_set
### E: 4의 배수의 개수에 대한 전주와 차이
### S: 5의 배수의 개수
n_mul = 5
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1, 2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 5의 배수의 개수
### S: 5의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1,2}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 76.3))
if not until_end:
return filter_set
### E: 5의 배수의 개수에 대한 전주와 차이
### S: 6의 배수의 개수
n_mul = 6
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1, 2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 6의 배수의 개수
### S: 6의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 80.7))
if not until_end:
return filter_set
### E: 6의 배수의 개수에 대한 전주와 차이
### S: 7의 배수의 개수
n_mul = 7
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1, 2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 7의 배수의 개수
### S: 7의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 85.0))
if not until_end:
return filter_set
### E: 7의 배수의 개수에 대한 전주와 차이
### S: 8의 배수의 개수
n_mul = 8
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 8의 배수의 개수
### S: 8의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 87.4))
if not until_end:
return filter_set
### E: 8의 배수의 개수에 대한 전주와 차이
### S: 9의 배수의 개수
n_mul = 9
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1,2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 9의 배수의 개수
### S: 9의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 87.9))
if not until_end:
return filter_set
### E: 9의 배수의 개수에 대한 전주와 차이
### S: 10의 배수의 개수
n_mul = 10
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 10의 배수의 개수
### S: 10의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 10의 배수의 개수에 대한 전주와 차이
### S: 11의 배수의 개수
n_mul = 11
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1,2}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 11의 배수의 개수
### S: 11의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 11의 배수의 개수에 대한 전주와 차이
### S: 13의 배수의 개수
n_mul = 13
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 13의 배수의 개수
### S: 13의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 13의 배수의 개수에 대한 전주와 차이
### S: 17의 배수의 개수
n_mul = 17
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 17의 배수의 개수
### S: 17의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 17의 배수의 개수에 대한 전주와 차이
### S: 19의 배수의 개수
n_mul = 19
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0, 1}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 19의 배수의 개수
### S: 19의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0, 1}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 19의 배수의 개수에 대한 전주와 차이
### S: 23의 배수의 개수
n_mul = 23
ball_n = len([b for b in ball if b % n_mul == 0])
if ball_n not in {0}:
filter_set.add('{}의배수: {}'.format(n_mul, ball_n))
if not until_end:
return filter_set
### E: 23의 배수의 개수
### S: 23의 배수의 개수에 대한 전주와 차이
p_ball_n = len([b for b in p_ball if b % n_mul == 0])
if abs(ball_n - p_ball_n) not in {0}:
filter_set.add('{}의배수 전주차: {:.1f}%'.format(n_mul, 89.9))
if not until_end:
return filter_set
### E: 23의 배수의 개수에 대한 전주와 차이
### S: 소수 포함 개수
pn_acc = len(set(ball) & set(self.primeNumber))
if pn_acc not in [1,2,3]:
filter_set.add('소수: 85.5%')
if not until_end:
return filter_set
"""
diff = abs(pn_acc - len(set(p_ball) & set(self.primeNumber)))
if diff not in [0,1,0]:
filter_set.add('소수 전주차: 91.0%')
if not until_end:
return filter_set
"""
### E: 소수 포함 개수
### S: 복소수 포함 개수
cn_acc = len(set(ball) & set(self.compositeNumber))
if cn_acc not in [3,4,5]:
filter_set.add('복소수: 85.0%')
if not until_end:
return filter_set
diff = abs(cn_acc - len(set(p_ball) & set(self.compositeNumber)))
if diff not in [0,1,2,3]:
filter_set.add('복소수 전주차: 90.2%')
if not until_end:
return filter_set
### E: 복소수 포함 개수
### S: 홀짝 개수
even_count = len([b for b in ball if b % 2 == 0])
if even_count not in [2,3,4]:
filter_set.add('짝수 (0,2,4): 82.6%')
if not until_end:
return filter_set
### S: 홀짝 개수
### E: 홀짝 개수에 대한 전주와 차이
p_even_count = len([b for b in p_ball if b % 2 == 0])
if abs(even_count - p_even_count) not in [0,1,2]:
filter_set.add('짝수 (0,2,4) 전주차: 88.4%')
if not until_end:
return filter_set
### E: 홀짝 개수에 대한 전주와 차이
### S: 용지에 안나올 것 같은 마킹 위치 (filterPatternInPaper1~filterPatternInPaper6)
v1 = self.filterPatternInPaper1(ball)
v2 = self.filterPatternInPaper2(ball)
v3 = self.filterPatternInPaper3(ball)
v4 = self.filterPatternInPaper4(ball)
v5 = self.filterPatternInPaper5(ball)
v6 = self.filterPatternInPaper6(ball)
vs = [v1, v2, v3, v4, v5, v6]
for v in vs:
if v is not None:
filter_set.add(v)
if not until_end:
return filter_set
### E: 용지에 안나올 것 같은 마킹 위치 (filterPatternInPaper1~filterPatternInPaper6)
### S: 전회차와 주어진 볼과 전후 볼
if self.filterPreviousNumber(ball, no):
filter_set.add('이전회차 수/좌우수')
if not until_end:
return filter_set
### E: 전회차와 주어진 볼과 전후 볼
### S: 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수
count_section10 = self.getNumberOfAppearancesInSection10(ball)
if count_section10 not in {3,4,5}:
filter_set.add('같은 10구간대만 출현: {}'.format(count_section10))
if not until_end:
return filter_set
### E: 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수
### S: 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수에 대한 전주와 차이
p_count_section10 = self.getNumberOfAppearancesInSection10(p_ball)
if abs(count_section10-p_count_section10) not in {0,1,2}:
filter_set.add('같은 10구간대만 출현 전주차: {}'.format(abs(count_section10-p_count_section10)))
if not until_end:
return filter_set
### E: 공 6개가 1번대, 10번대, 20번대, 30번대, 40번대 중 공이 존재하는 구간의 개수에 대한 전주와 차이
### S: 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수
exist_ball = self.getWeeksFrequency(ball, df, no, week=8)
if exist_ball not in {3,4,5,6}:
filter_set.add('8 weeks: 92.8%')
if not until_end:
return filter_set
### E: 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수
### S: 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
p_exist_ball = self.getWeeksFrequency(p_ball, df, no, week=8)
if abs(exist_ball-p_exist_ball) not in {0,1,2,3}:
filter_set.add('8 weeks 전주차: 90.5%')
if not until_end:
return filter_set
### E: 최근 8주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
### S: 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수
exist_ball = self.getWeeksFrequency(ball, df, no, week=12)
if exist_ball not in {3, 4, 5, 6}:
filter_set.add('12 weeks: 99.0%')
if not until_end:
return filter_set
### E: 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수
### S: 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
p_exist_ball = self.getWeeksFrequency(p_ball, df, no, week=12)
if abs(exist_ball - p_exist_ball) not in {0, 1, 2}:
filter_set.add('12 weeks 전주차: 96.8%')
if not until_end:
return filter_set
### E: 최근 12주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
### S: 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수
exist_ball = self.getWeeksFrequency(ball, df, no, week=16)
if exist_ball not in {4,5,6}:
filter_set.add('16 weeks: 98.2%')
if not until_end:
return filter_set
### S: 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수
### S: 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
p_exist_ball = self.getWeeksFrequency(p_ball, df, no, week=16)
if abs(exist_ball - p_exist_ball) not in {0, 1}:
filter_set.add('16 weeks 전주차: 87.7%')
if not until_end:
return filter_set
### S: 최근 16주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
### S: 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수
exist_ball = self.getWeeksFrequency(ball, df, no, week=20)
if exist_ball not in {5, 6}:
filter_set.add('20 weeks: 95.1%')
if not until_end:
return filter_set
### S: 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수
### S: 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
p_exist_ball = self.getWeeksFrequency(p_ball, df, no, week=20)
if abs(exist_ball - p_exist_ball) not in {0, 1}:
filter_set.add('20 weeks 전주차: 93.8%')
if not until_end:
return filter_set
### S: 최근 20주간 모든 당첨번호에 포함되는 금주 번호 개수에 대한 전주와 차이
### S: 통계적으로 잘 나올 것 같지 않은 3개 공 조합 체크
type3 = self.filterTriplePairBall(ball)
if type3 is not None:
filter_set.add('직관 3개 볼을 제거: {}'.format(type3))
if not until_end:
return filter_set
### S: 통계적으로 잘 나올 것 같지 않은 3개 공 조합 체크
### S: 이전 7회차에서 안나온 값이 없는 경우
if self.filterAllPreivous7(ball, no):
filter_set.add('이전 17차')
if not until_end:
return filter_set
### E: 이전 7회차에서 안나온 값이 없는 경우
### S: 하나의 당첨 번호에서 N개 연속된 숫자인지 체크
continous_ball = self.getContinusNumber(ball)
if 3 < continous_ball:
# 연속 볼이 있으면 제거
filter_set.add('연속볼')
if not until_end:
return filter_set
### E: 하나의 당첨 번호에서 N개 연속된 숫자인지 체크
"""
if self.filterNTimesIn10UnitSections(ball, N=2):
filter_set.add('filter#1')
if self.filterNTimesIn5UnitSections(ball, N=0):
filter_set.add('filter#1')
"""
return filter_set
def filter(self, ball, no, until_end=False, df=None, filter_ball=None):
filter_type = self.extract_final_candidates(ball=ball, no=no, until_end=until_end, df=df)
return filter_type