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