Raghavendra0827 commited on
Commit
1f87180
·
verified ·
1 Parent(s): ca337fc

Upload 3 files

Browse files
Files changed (3) hide show
  1. Market_Basket_Analysis.py +146 -0
  2. data.csv +602 -0
  3. requirements.txt +3 -0
Market_Basket_Analysis.py ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ from mlxtend.frequent_patterns import apriori
4
+ from mlxtend.frequent_patterns import association_rules
5
+
6
+ # Load initial data
7
+ data = pd.read_csv("data.csv")
8
+ # Load item images
9
+ item_images = {
10
+ 'Onion': 'https://m.media-amazon.com/images/I/71GUFttn0jL._AC_UF1000,1000_QL80_.jpg',
11
+ 'Potato': 'https://m.media-amazon.com/images/I/61yXL70-RaL._AC_UF1000,1000_QL80_.jpg',
12
+ 'Burger': 'https://img.freepik.com/free-photo/front-view-tasty-meat-burger-with-cheese-salad-dark-background_140725-89597.jpg',
13
+ 'Milk': 'https://www.heritagefoods.in/blog/wp-content/uploads/2020/12/shutterstock_539045662.jpg',
14
+ 'Beer': 'https://cdn.pixabay.com/photo/2017/06/24/23/41/beer-2439237_640.jpg',
15
+ 'Eggs': 'https://img.freepik.com/free-photo/brown-eggs_2829-13455.jpg',
16
+ 'Bread': 'https://thumbs.dreamstime.com/b/bread-cut-14027607.jpg',
17
+ 'Cheese': 'https://t3.ftcdn.net/jpg/05/66/02/98/360_F_566029808_X7praimuCQt0MsLCmw5d65Pp5KqmTS8e.jpg',
18
+ 'Tomato': 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Tomato_je.jpg/1231px-Tomato_je.jpg',
19
+ 'Chicken': 'https://assets.epicurious.com/photos/62f16ed5fe4be95d5a460eed/1:1/w_4318,h_4318,c_limit/RoastChicken_RECIPE_080420_37993.jpg',
20
+ 'Rice': 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRbfzh6ANLy74mq6aBFMC0P9BWFsiMH8Di0HuZouSSj5Q&s',
21
+ 'Cereal': 'https://t4.ftcdn.net/jpg/00/60/08/87/360_F_60088763_3CVRHjk4Mn75y6kraCsSqNKEZkuf9032.jpg',
22
+ 'Yogurt': 'https://www.shutterstock.com/image-photo/sour-cream-yogurt-wooden-bowl-260nw-1333497695.jpg',
23
+ 'Apples': 'https://www.shutterstock.com/image-photo/red-apple-isolated-on-white-600nw-1727544364.jpg'
24
+ }
25
+
26
+ # Function to append new customer basket items to original data
27
+ def append_customer_basket(items):
28
+ global data
29
+ last_id = data['ID'].max()
30
+ if pd.isna(last_id): # If there's no previous data
31
+ last_id = 0
32
+ new_row = {item: 0 for item in data.columns[1:]} # Initialize with 0s
33
+ new_row['ID'] = last_id + 1
34
+ for item in items:
35
+ if item in new_row: # Check if item exists in data columns
36
+ new_row[item] = 1
37
+ data = data.append(new_row, ignore_index=True)
38
+ data.to_csv("data.csv", index=False)
39
+
40
+ # Function to find items with highest lift or confidence
41
+ def items_with_metric(rules, metric, n=10):
42
+ sorted_rules = rules.sort_values(by=metric, ascending=False)
43
+ return sorted_rules.head(n)
44
+
45
+ # Sidebar option for company view
46
+ st.sidebar.write('<h2 style="color: #ff6666;">Company View</h2>', unsafe_allow_html=True)
47
+ st.sidebar.markdown('Enter new customer basket items:')
48
+ new_onion = st.sidebar.checkbox('Onion')
49
+ new_potato = st.sidebar.checkbox('Potato')
50
+ new_burger = st.sidebar.checkbox('Burger')
51
+ new_milk = st.sidebar.checkbox('Milk')
52
+ new_beer = st.sidebar.checkbox('Beer')
53
+ new_eggs = st.sidebar.checkbox('Eggs')
54
+ new_bread = st.sidebar.checkbox('Bread')
55
+ new_cheese = st.sidebar.checkbox('Cheese')
56
+ new_tomato = st.sidebar.checkbox('Tomato')
57
+ new_chicken = st.sidebar.checkbox('Chicken')
58
+ new_rice = st.sidebar.checkbox('Rice')
59
+ new_cereal = st.sidebar.checkbox('Cereal')
60
+ new_yogurt = st.sidebar.checkbox('Yogurt')
61
+ new_apples = st.sidebar.checkbox('Apples')
62
+
63
+ if st.sidebar.button('Add Items'):
64
+ new_items = [item for item, new in zip(data.columns[1:], [new_onion, new_potato, new_burger, new_milk, new_beer, new_eggs, new_bread, new_cheese, new_tomato, new_chicken, new_rice, new_cereal, new_yogurt, new_apples]) if new]
65
+ append_customer_basket(new_items)
66
+ st.sidebar.success('New customer basket items added successfully!')
67
+
68
+ # Perform market basket analysis
69
+ frequent_itemsets = apriori(data.drop(columns=['ID']), min_support=0.2, use_colnames=True)
70
+ rules = association_rules(frequent_itemsets, metric='lift', min_threshold=1)
71
+
72
+ # Radio button to select metric
73
+ selected_metric = st.sidebar.radio("Select Metric:", ('lift', 'confidence'))
74
+ # Display items with highest lift in customer view
75
+ st.markdown('<h1 style="color: #66ccff;">Exclusive Offers</h1>' if selected_metric == 'lift' else '<h1 style="color: #66ccff;">Your Fav Combo Awaits! Grab Exciting Offers Now!</h1>', unsafe_allow_html=True)
76
+ items_displayed = set() # To avoid duplicate pairs
77
+
78
+ item2 = ""
79
+ for index, row in items_with_metric(rules, selected_metric).iterrows():
80
+ if list(row['antecedents'])[0] != item2:
81
+ item1 = list(row['antecedents'])[0]
82
+ item2 = list(row['consequents'])[0]
83
+ # Check if the pair is already displayed or its reverse is displayed
84
+ if (item1, item2) not in items_displayed and (item2, item1) not in items_displayed:
85
+ col1, col2, col3 = st.columns(3)
86
+ with col1:
87
+ st.image(item_images[item1], caption=item1, width=150)
88
+ with col2:
89
+ st.markdown('<h1 style="color: #66ccff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+</h1>', unsafe_allow_html=True)
90
+ with col3:
91
+ st.image(item_images[item2], caption=item2, width=150)
92
+
93
+
94
+ if selected_metric == 'lift':
95
+ if row['lift'] > 1.2:
96
+ if st.button(f"Weekly Offer: 20% off on purchase of {item1} and {item2}", key=f"{item1}_{item2}", help='Weekly Offer'):
97
+ pass
98
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
99
+
100
+ elif row['lift'] > 1:
101
+ if st.button(f"Daily Offer: 15% off on purchase of {item1} and {item2}", key=f"{item1}_{item2}", help='Daily Offer'):
102
+ pass
103
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
104
+
105
+ else:
106
+ if st.button(f"Festival Offer: Buy {item1} get {item2} free", key=f"{item1}_{item2}", help='Festival Offer'):
107
+ pass
108
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
109
+
110
+ else: # Confidence
111
+ if row['confidence'] > 0.7:
112
+ if st.button(f"High Confidence Offer: 25% off on purchase of {item1} and {item2}", key=f"{item1}_{item2}", help='High Confidence Offer'):
113
+ pass
114
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
115
+
116
+ elif row['confidence'] > 0.5:
117
+ if st.button(f"Medium Confidence Offer: 15% off on purchase of {item1} and {item2}", key=f"{item1}_{item2}", help='Medium Confidence Offer'):
118
+ pass
119
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
120
+
121
+ else:
122
+ if st.button(f"Low Confidence Offer: Buy {item1} get {item2} free", key=f"{item1}_{item2}", help='Low Confidence Offer'):
123
+ pass
124
+ st.markdown('<style>div.stButton > button{background-color: #00FF00; color: black;}</style>', unsafe_allow_html=True)
125
+
126
+
127
+ # items_displayed.add((item1, item2)) # Add the pair to displayed items
128
+
129
+
130
+ company_password = "MYCOMPANY@123"
131
+
132
+ # Sidebar option for viewing association rules separately
133
+ view_rules = st.sidebar.checkbox('View Association Rules (Protected)')
134
+
135
+ if view_rules:
136
+ # Create an empty slot for password input
137
+ password_input = st.sidebar.text_input("Enter Company Password", type="password")
138
+
139
+ # Display association rules and download option if password is correct
140
+ if st.sidebar.button("Submit") and password_input == company_password:
141
+ st.sidebar.markdown('<h1 style="color: #66ccff;">Association Rules</h1>', unsafe_allow_html=True)
142
+ # st.table(rules)
143
+ st.sidebar.markdown('<a href="data:text/csv;charset=utf-8,%EF%BB%BF' + rules.to_csv(index=False).encode('utf-8').decode().replace('\n', '%0A') + '" download="association_rules.csv" target="_blank">Download Association Rules</a>', unsafe_allow_html=True)
144
+ elif password_input != "":
145
+ st.sidebar.error("Incorrect password. Please try again.")
146
+
data.csv ADDED
@@ -0,0 +1,602 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ID,Onion,Potato,Burger,Milk,Beer,Eggs,Bread,Cheese,Tomato,Chicken,Rice,Cereal,Yogurt,Apples
2
+ 1,0,0,0,0,0,1,1,1,0,1,0,0,1,0
3
+ 2,0,1,1,1,0,1,1,0,1,1,1,0,1,1
4
+ 3,0,0,1,0,1,0,0,1,1,0,0,0,0,1
5
+ 4,0,1,1,0,1,0,0,0,1,0,1,0,0,0
6
+ 5,1,0,1,1,1,1,0,1,1,1,1,1,0,0
7
+ 6,0,0,1,0,1,1,1,0,0,0,1,1,1,1
8
+ 7,1,1,0,0,1,0,0,1,0,0,1,0,1,1
9
+ 8,1,1,0,0,0,0,0,0,1,0,1,0,0,0
10
+ 9,0,1,1,1,1,0,0,1,0,1,0,0,0,1
11
+ 10,1,1,0,0,0,0,1,1,1,0,1,1,1,1
12
+ 11,1,1,0,0,0,0,0,1,1,0,0,1,1,0
13
+ 12,1,1,1,1,0,0,0,0,0,1,1,1,1,1
14
+ 13,1,0,0,0,0,1,1,1,0,1,1,0,0,1
15
+ 14,1,1,1,0,0,1,1,1,0,0,0,0,0,1
16
+ 15,0,0,0,1,1,0,0,1,1,1,1,0,0,1
17
+ 16,1,0,0,1,0,0,0,0,1,0,0,1,1,1
18
+ 17,1,1,0,1,0,1,1,0,0,0,0,1,1,0
19
+ 18,1,1,1,1,0,1,1,1,0,0,0,1,0,1
20
+ 19,0,1,1,1,0,1,1,0,1,1,0,0,0,1
21
+ 20,1,1,1,0,0,0,0,0,1,0,1,0,1,0
22
+ 21,1,1,0,1,1,0,1,1,0,0,0,0,0,1
23
+ 22,0,1,1,0,0,1,0,0,0,0,0,1,1,0
24
+ 23,0,0,0,0,0,1,0,0,0,0,1,1,0,0
25
+ 24,1,0,0,0,0,0,1,0,0,1,0,1,1,0
26
+ 25,1,0,1,0,0,0,0,1,1,0,1,1,1,1
27
+ 26,0,1,1,1,1,0,0,1,1,0,0,1,1,0
28
+ 27,0,1,1,1,1,0,0,0,0,1,0,1,0,0
29
+ 28,0,1,0,0,0,1,1,0,1,1,1,1,1,1
30
+ 29,0,0,0,0,0,0,0,0,1,0,1,1,1,1
31
+ 30,1,1,1,1,1,1,1,0,0,0,1,1,1,0
32
+ 31,1,0,1,1,0,1,1,0,0,0,1,0,0,0
33
+ 32,1,0,0,0,1,1,0,1,0,0,1,1,1,0
34
+ 33,0,1,1,0,0,0,1,1,0,1,1,0,1,0
35
+ 34,0,1,1,0,0,0,0,1,0,0,1,0,1,1
36
+ 35,0,1,1,0,0,1,1,0,0,1,1,1,1,1
37
+ 36,1,1,1,0,0,1,0,1,1,1,1,1,1,1
38
+ 37,0,0,1,1,0,0,1,0,1,0,0,0,1,1
39
+ 38,1,1,0,0,1,1,0,0,1,1,0,0,0,1
40
+ 39,0,0,1,1,1,0,1,0,0,0,0,1,1,1
41
+ 40,0,1,1,0,1,0,1,1,1,0,0,0,0,1
42
+ 41,1,1,1,1,0,0,1,1,0,1,1,0,0,1
43
+ 42,1,0,0,1,0,1,0,0,0,1,1,1,0,1
44
+ 43,1,1,0,0,1,1,0,0,1,1,1,1,1,0
45
+ 44,0,0,0,1,1,0,1,0,1,1,0,0,1,1
46
+ 45,1,1,0,1,1,1,1,0,0,0,1,1,0,0
47
+ 46,1,0,1,0,0,0,0,0,1,1,1,0,0,0
48
+ 47,0,0,1,0,0,1,1,0,1,0,1,1,1,1
49
+ 48,1,0,1,1,1,0,1,0,0,0,1,1,1,1
50
+ 49,1,0,1,0,1,1,0,0,0,0,0,1,0,1
51
+ 50,0,1,0,0,1,1,0,1,1,1,0,1,1,0
52
+ 51,0,1,0,0,0,1,0,0,0,0,0,1,0,0
53
+ 52,0,1,0,0,0,0,1,0,1,0,0,1,0,0
54
+ 53,1,0,0,1,0,1,1,0,1,0,1,0,1,1
55
+ 54,1,1,0,0,1,1,0,0,0,0,0,1,1,0
56
+ 55,1,0,0,1,1,0,0,1,1,0,0,0,1,0
57
+ 56,1,1,1,0,0,0,0,0,0,1,1,0,1,0
58
+ 57,1,1,1,1,1,0,0,0,0,1,0,1,0,0
59
+ 58,0,0,1,1,1,1,0,1,1,0,1,0,0,0
60
+ 59,0,0,1,0,0,0,1,0,1,1,1,0,1,0
61
+ 60,1,1,0,0,1,0,1,1,0,1,1,0,0,1
62
+ 61,0,1,0,0,0,0,0,1,0,0,1,1,0,1
63
+ 62,1,0,1,1,1,0,0,0,1,1,1,0,0,0
64
+ 63,0,1,0,0,0,1,1,1,1,0,0,0,1,1
65
+ 64,1,1,0,1,0,1,0,0,1,0,1,1,0,1
66
+ 65,0,1,0,1,1,0,0,1,0,1,0,1,1,0
67
+ 66,0,0,1,1,1,1,0,0,1,1,1,1,1,1
68
+ 67,1,0,1,1,0,1,0,1,1,1,1,0,1,0
69
+ 68,0,0,0,0,0,1,0,1,0,0,1,0,1,1
70
+ 69,1,0,1,1,0,0,0,1,1,0,0,1,1,1
71
+ 70,1,0,1,0,1,1,1,1,1,0,0,0,1,1
72
+ 71,0,0,1,0,0,0,0,0,0,1,1,1,1,0
73
+ 72,1,1,1,0,0,0,0,1,0,0,0,0,0,0
74
+ 73,1,0,0,0,0,1,0,1,0,0,1,1,0,1
75
+ 74,0,1,1,0,0,0,0,1,1,0,0,1,0,1
76
+ 75,0,0,1,0,1,1,0,0,1,1,0,0,0,1
77
+ 76,1,1,1,0,1,0,1,1,0,0,1,0,1,0
78
+ 77,0,1,1,0,0,1,1,1,1,1,1,1,0,0
79
+ 78,1,1,0,1,0,0,0,0,0,1,0,1,0,0
80
+ 79,0,0,1,0,0,1,1,0,0,0,0,1,1,0
81
+ 80,0,1,0,1,0,0,1,1,1,1,1,0,1,0
82
+ 81,0,0,0,0,0,0,0,0,0,0,1,1,1,1
83
+ 82,1,0,1,1,1,1,1,0,1,0,1,0,1,0
84
+ 83,0,1,1,1,1,0,1,1,1,1,0,1,0,1
85
+ 84,0,0,0,1,1,1,0,1,0,1,1,1,1,1
86
+ 85,1,0,0,1,1,1,1,0,0,1,0,1,1,0
87
+ 86,0,0,1,0,0,1,0,0,1,0,0,0,0,0
88
+ 87,1,0,1,1,0,0,0,0,1,1,0,1,0,1
89
+ 88,0,1,1,0,0,0,1,1,0,0,1,1,0,1
90
+ 89,1,0,1,0,0,1,0,1,1,0,1,0,1,0
91
+ 90,0,0,0,0,0,1,0,0,1,0,0,1,1,0
92
+ 91,1,1,0,0,0,1,0,0,1,0,1,1,0,1
93
+ 92,0,1,0,0,1,1,0,0,0,0,1,0,0,0
94
+ 93,1,0,1,0,0,0,0,0,1,0,0,0,1,0
95
+ 94,1,1,0,1,1,1,0,0,1,0,1,0,1,0
96
+ 95,1,1,0,1,0,1,1,0,0,1,1,0,0,1
97
+ 96,1,1,1,1,1,1,0,0,1,0,1,1,1,1
98
+ 97,0,0,0,1,1,0,1,1,1,1,1,0,0,1
99
+ 98,0,0,0,1,1,0,1,0,0,1,1,0,0,0
100
+ 99,1,1,0,1,0,1,0,1,0,0,1,0,1,1
101
+ 100,0,0,0,1,1,0,0,1,0,0,1,0,1,1
102
+ 101,1,0,1,1,0,0,0,0,0,1,0,1,1,0
103
+ 102,0,1,1,1,0,1,1,1,1,0,0,1,0,0
104
+ 103,0,1,1,0,1,1,0,0,1,1,0,0,0,1
105
+ 104,1,1,0,1,1,1,1,1,1,0,1,0,1,0
106
+ 105,1,0,0,1,1,1,1,0,1,0,0,0,1,0
107
+ 106,1,0,0,0,0,1,1,0,1,1,0,1,0,0
108
+ 107,0,0,0,0,0,0,0,0,0,1,1,1,1,1
109
+ 108,0,0,0,1,1,1,1,0,1,0,0,1,1,0
110
+ 109,1,1,0,0,1,0,0,0,1,1,0,0,1,0
111
+ 110,1,1,0,1,0,0,0,1,1,1,1,0,0,1
112
+ 111,0,0,0,1,1,1,1,1,1,0,0,0,1,1
113
+ 112,0,1,0,0,1,0,0,0,0,1,1,1,1,1
114
+ 113,1,1,1,0,0,0,1,0,1,1,1,1,0,0
115
+ 114,1,0,1,1,1,0,1,1,0,1,1,0,1,1
116
+ 115,1,1,1,1,1,0,1,0,0,1,0,0,1,1
117
+ 116,0,1,0,1,0,1,0,1,0,1,1,1,1,0
118
+ 117,1,0,0,0,0,0,1,0,1,0,1,0,0,1
119
+ 118,0,0,1,0,1,0,0,0,0,0,0,1,1,1
120
+ 119,1,1,1,0,1,0,1,1,1,0,1,1,1,0
121
+ 120,0,0,0,0,0,0,1,1,1,1,0,1,1,1
122
+ 121,0,1,1,0,0,1,1,1,1,0,0,0,1,1
123
+ 122,1,0,1,0,0,1,1,0,0,1,0,0,0,1
124
+ 123,1,1,1,1,0,1,1,1,1,1,0,1,0,0
125
+ 124,1,1,1,0,0,0,1,0,1,0,1,0,1,1
126
+ 125,1,0,0,0,0,1,1,0,1,0,0,0,1,0
127
+ 126,1,0,0,0,1,1,1,1,1,0,0,1,0,1
128
+ 127,0,1,0,0,1,1,1,1,0,1,0,1,0,0
129
+ 128,0,1,1,0,1,1,0,1,0,1,0,0,1,0
130
+ 129,0,0,0,0,1,1,1,1,0,0,0,1,1,1
131
+ 130,1,0,0,0,0,0,1,0,0,0,1,1,1,0
132
+ 131,0,0,1,1,1,0,1,1,0,1,0,1,1,1
133
+ 132,1,1,0,0,1,1,1,0,0,0,0,0,1,1
134
+ 133,1,0,1,0,0,0,1,1,1,0,0,0,1,0
135
+ 134,0,0,0,1,0,0,1,1,0,1,0,1,1,0
136
+ 135,0,1,1,0,1,1,0,0,1,1,0,1,1,0
137
+ 136,1,0,1,1,0,1,0,1,0,1,0,1,1,0
138
+ 137,0,1,1,0,0,1,1,1,0,1,1,1,1,0
139
+ 138,1,1,1,1,1,0,0,1,0,0,1,1,0,1
140
+ 139,1,1,0,1,1,1,0,1,0,1,0,1,0,0
141
+ 140,1,1,1,0,1,1,0,1,1,0,1,1,0,1
142
+ 141,1,0,1,1,1,1,0,0,0,0,1,0,0,1
143
+ 142,0,1,0,1,0,1,0,0,1,0,0,1,0,0
144
+ 143,0,0,1,0,1,0,1,0,1,0,1,1,0,1
145
+ 144,1,1,1,0,0,0,0,0,1,0,0,0,0,1
146
+ 145,1,0,0,1,1,0,1,1,1,0,0,0,0,0
147
+ 146,0,1,1,1,1,1,1,1,0,0,1,0,0,1
148
+ 147,1,0,1,0,1,1,0,1,1,1,0,1,0,0
149
+ 148,1,1,0,0,0,0,1,1,1,1,0,0,1,1
150
+ 149,1,1,1,1,0,1,1,0,0,0,1,1,1,1
151
+ 150,1,0,1,0,1,0,1,0,0,0,0,1,0,0
152
+ 151,0,0,0,1,1,0,0,0,0,1,0,1,1,0
153
+ 152,1,1,0,1,0,1,1,0,0,1,1,0,0,1
154
+ 153,0,0,1,0,1,1,0,1,1,1,1,1,0,0
155
+ 154,1,1,1,1,1,0,0,1,0,1,1,1,1,1
156
+ 155,0,1,0,0,0,1,0,1,1,1,0,0,1,0
157
+ 156,0,1,1,1,1,1,0,0,0,1,1,0,1,1
158
+ 157,0,1,1,1,1,0,0,0,0,0,0,0,1,1
159
+ 158,0,1,1,1,1,1,1,0,0,1,0,0,1,0
160
+ 159,1,0,0,0,0,1,0,1,1,1,0,1,0,1
161
+ 160,0,0,0,1,1,0,0,0,1,0,1,1,1,0
162
+ 161,1,0,1,1,1,1,1,1,1,0,0,0,1,1
163
+ 162,1,1,0,0,0,1,0,0,1,1,0,0,0,0
164
+ 163,0,1,0,1,1,1,0,1,0,1,0,0,0,0
165
+ 164,1,1,1,0,1,1,0,0,1,1,1,0,0,0
166
+ 165,1,1,1,0,0,1,1,0,1,1,1,1,1,1
167
+ 166,0,1,1,0,0,0,0,1,0,0,1,1,1,1
168
+ 167,1,1,0,1,0,0,0,1,1,0,0,0,0,0
169
+ 168,0,1,1,0,0,1,0,1,1,1,1,1,1,1
170
+ 169,1,1,1,0,1,1,1,0,0,1,1,0,0,0
171
+ 170,1,0,1,0,1,1,0,1,1,1,0,1,1,0
172
+ 171,0,1,0,0,1,1,1,0,0,0,0,0,0,1
173
+ 172,0,0,0,1,1,1,1,1,0,1,1,0,0,1
174
+ 173,0,0,0,0,0,1,0,0,1,0,1,0,0,0
175
+ 174,1,0,0,1,1,0,1,1,0,1,0,1,1,0
176
+ 175,0,0,1,1,0,1,1,0,0,1,1,0,1,0
177
+ 176,0,0,1,0,0,1,0,1,1,0,1,1,1,0
178
+ 177,0,1,1,1,1,1,0,0,1,1,0,1,1,0
179
+ 178,1,1,1,0,0,0,1,0,1,0,1,1,1,0
180
+ 179,0,1,0,1,1,1,0,1,1,1,0,1,0,1
181
+ 180,1,1,0,0,0,0,0,0,1,0,0,1,1,1
182
+ 181,1,1,1,1,1,0,0,1,0,1,0,1,0,1
183
+ 182,0,0,0,1,0,0,1,1,1,1,0,0,0,0
184
+ 183,0,0,1,1,1,1,0,1,1,1,1,1,1,0
185
+ 184,1,0,1,0,0,1,1,0,0,1,0,0,0,0
186
+ 185,0,0,0,0,1,1,1,1,0,0,1,0,1,1
187
+ 186,0,0,1,1,0,1,1,0,1,0,1,1,0,1
188
+ 187,1,0,1,1,1,1,1,1,1,1,0,0,1,0
189
+ 188,0,0,1,1,1,0,0,0,0,1,0,0,1,1
190
+ 189,0,0,1,0,1,1,1,1,0,0,1,0,0,0
191
+ 190,0,0,1,0,1,1,1,0,0,0,0,1,1,1
192
+ 191,0,1,0,1,1,1,0,0,1,0,1,0,0,0
193
+ 192,0,1,0,0,0,1,1,0,1,0,1,0,0,0
194
+ 193,0,0,0,0,1,0,1,1,0,0,1,1,0,1
195
+ 194,0,1,0,0,0,0,1,1,1,0,1,0,1,1
196
+ 195,0,1,0,0,1,0,1,1,1,1,1,0,0,0
197
+ 196,1,0,0,0,1,0,0,1,0,0,1,1,1,0
198
+ 197,1,0,0,0,1,0,0,1,0,1,1,0,0,1
199
+ 198,0,1,0,1,0,1,1,0,0,1,0,0,0,0
200
+ 199,0,1,0,1,1,0,0,0,1,0,1,0,0,1
201
+ 200,1,0,0,0,0,1,0,0,1,1,1,0,1,0
202
+ 201,0,1,0,0,1,1,1,1,0,0,0,0,0,1
203
+ 202,1,0,0,1,0,0,1,0,1,1,0,0,0,0
204
+ 203,0,0,1,1,1,1,1,1,0,1,0,0,0,0
205
+ 204,0,0,1,0,0,1,1,1,1,1,1,1,1,0
206
+ 205,0,1,0,1,1,0,0,0,0,0,1,1,0,0
207
+ 206,0,0,0,1,0,1,0,0,1,0,0,1,1,1
208
+ 207,0,0,0,1,0,1,1,0,1,0,1,0,0,0
209
+ 208,0,1,0,1,1,0,0,0,0,1,1,0,1,1
210
+ 209,1,1,0,0,0,0,1,1,1,0,1,0,0,1
211
+ 210,0,0,1,1,1,0,1,0,1,1,0,1,0,0
212
+ 211,0,1,1,0,0,0,1,0,0,1,1,0,1,0
213
+ 212,1,1,0,1,0,0,0,1,0,0,1,1,0,0
214
+ 213,1,1,1,0,1,0,1,1,0,1,1,0,1,0
215
+ 214,1,0,0,0,0,0,1,0,1,1,1,1,1,0
216
+ 215,1,0,0,1,1,0,1,0,0,0,0,1,1,1
217
+ 216,0,1,0,0,1,0,0,0,0,1,0,1,1,0
218
+ 217,1,1,1,0,0,1,1,0,0,0,0,1,1,0
219
+ 218,1,1,0,1,0,1,0,0,1,1,1,0,1,0
220
+ 219,1,1,1,1,0,0,1,1,1,0,0,0,0,0
221
+ 220,0,0,1,0,1,1,1,1,0,1,1,0,0,0
222
+ 221,1,0,0,0,0,1,0,1,1,0,1,1,1,1
223
+ 222,0,0,0,1,1,1,1,0,0,1,1,0,1,1
224
+ 223,1,1,0,0,1,0,1,1,1,1,1,1,1,0
225
+ 224,1,1,0,1,1,0,0,0,0,1,1,1,0,0
226
+ 225,1,0,1,1,0,1,0,1,1,0,0,0,1,0
227
+ 226,0,1,0,0,1,1,0,1,1,1,1,0,1,1
228
+ 227,1,1,0,0,1,0,0,0,0,1,1,0,0,1
229
+ 228,1,1,0,0,0,1,0,1,1,1,1,1,0,0
230
+ 229,1,1,0,0,1,1,0,1,0,0,0,0,1,1
231
+ 230,0,1,0,0,0,1,0,1,0,1,0,0,1,1
232
+ 231,0,0,0,1,1,1,1,0,1,0,0,1,1,0
233
+ 232,0,1,1,1,0,0,0,1,0,0,1,1,1,1
234
+ 233,1,0,1,0,1,1,1,1,1,0,1,0,0,0
235
+ 234,1,0,0,0,0,0,0,0,1,0,1,0,1,1
236
+ 235,0,1,0,1,0,0,0,0,0,1,1,1,0,1
237
+ 236,0,0,0,1,0,1,0,0,0,1,0,1,1,1
238
+ 237,0,1,1,1,0,1,0,0,1,1,0,1,1,0
239
+ 238,0,1,1,0,1,1,1,1,1,0,0,1,1,0
240
+ 239,0,0,0,0,1,1,1,0,0,1,0,1,1,1
241
+ 240,1,0,1,1,0,1,0,1,0,0,0,1,1,0
242
+ 241,0,1,0,1,1,0,1,1,1,1,0,0,1,0
243
+ 242,0,0,1,1,0,1,0,0,0,1,0,1,1,0
244
+ 243,0,0,1,0,0,0,1,0,0,0,0,1,1,1
245
+ 244,0,0,0,0,1,1,1,1,1,1,0,1,0,1
246
+ 245,0,0,1,1,0,1,1,0,1,1,0,1,0,1
247
+ 246,0,0,1,0,0,1,1,1,0,1,1,0,0,0
248
+ 247,0,1,0,0,0,1,1,0,1,0,0,1,0,0
249
+ 248,1,1,1,0,1,1,0,1,1,0,0,0,0,1
250
+ 249,1,1,1,1,1,1,0,1,1,1,1,1,1,0
251
+ 250,1,0,1,0,1,0,0,0,1,1,0,0,0,1
252
+ 251,0,0,0,0,1,1,0,0,1,0,0,1,0,1
253
+ 252,0,0,1,0,1,1,1,1,0,0,0,1,1,0
254
+ 253,1,0,1,0,0,1,1,1,1,1,0,0,0,1
255
+ 254,0,0,1,1,1,1,1,0,0,1,1,0,0,0
256
+ 255,0,0,0,0,1,1,0,0,0,0,1,1,0,1
257
+ 256,1,0,0,0,1,0,1,1,1,1,0,0,0,1
258
+ 257,1,1,0,1,0,0,0,0,0,0,1,0,0,1
259
+ 258,0,0,0,1,1,1,1,0,0,0,0,0,1,0
260
+ 259,1,1,0,1,1,1,1,1,1,0,1,1,0,1
261
+ 260,0,1,1,0,1,1,0,0,0,1,0,0,1,1
262
+ 261,1,0,0,1,0,1,1,0,0,1,1,1,1,1
263
+ 262,1,0,1,0,0,1,1,0,0,0,1,0,0,1
264
+ 263,0,1,1,0,1,1,1,1,1,0,0,1,1,0
265
+ 264,0,0,1,0,1,1,0,0,1,1,1,1,1,0
266
+ 265,1,0,1,0,0,0,1,1,0,0,1,0,1,1
267
+ 266,0,1,0,0,1,0,1,1,1,1,1,1,1,0
268
+ 267,0,0,0,1,0,0,1,1,1,0,1,0,1,1
269
+ 268,0,0,0,1,1,0,1,0,1,0,0,1,0,0
270
+ 269,0,1,0,0,0,1,1,1,1,0,1,1,0,0
271
+ 270,1,0,0,1,1,0,0,0,1,1,1,1,1,1
272
+ 271,1,0,0,0,0,1,0,0,0,1,0,0,1,1
273
+ 272,0,0,0,0,1,0,0,0,1,1,1,1,0,0
274
+ 273,0,1,1,0,1,0,0,1,1,0,1,0,1,0
275
+ 274,1,0,1,0,0,1,0,1,1,1,0,1,1,0
276
+ 275,0,0,0,0,0,1,0,1,0,0,1,0,0,1
277
+ 276,0,1,1,0,0,0,1,0,1,0,1,1,0,0
278
+ 277,1,1,1,1,0,1,1,0,0,0,0,0,0,1
279
+ 278,1,1,1,0,1,0,1,1,1,1,0,0,0,1
280
+ 279,1,0,1,0,0,1,1,1,0,0,0,1,1,0
281
+ 280,1,1,0,1,0,0,1,1,0,1,1,1,0,0
282
+ 281,1,0,1,1,1,1,1,1,0,1,1,1,0,1
283
+ 282,0,1,0,0,1,0,1,1,0,1,0,1,1,0
284
+ 283,0,1,0,0,1,0,1,0,1,0,1,0,1,1
285
+ 284,1,1,1,0,1,1,0,0,0,1,1,1,0,0
286
+ 285,0,0,0,0,0,1,1,1,0,0,1,1,1,0
287
+ 286,0,1,0,0,0,0,0,0,1,1,1,0,1,1
288
+ 287,0,1,0,1,0,1,0,0,1,0,1,0,1,1
289
+ 288,0,1,1,1,0,0,1,0,0,0,1,0,1,1
290
+ 289,1,1,0,1,1,0,1,0,1,0,0,1,0,1
291
+ 290,0,1,1,1,0,0,0,1,1,1,0,1,0,1
292
+ 291,0,0,0,1,1,1,1,1,0,0,1,0,1,0
293
+ 292,1,0,0,1,0,1,1,1,1,1,1,0,0,0
294
+ 293,1,0,0,0,0,1,1,0,0,0,0,0,1,1
295
+ 294,0,1,1,1,1,1,0,1,0,1,1,0,1,1
296
+ 295,1,0,1,0,0,1,0,1,0,1,0,0,1,1
297
+ 296,1,1,0,0,1,1,1,0,1,1,1,1,0,0
298
+ 297,0,0,1,0,0,0,0,0,1,0,1,0,0,1
299
+ 298,0,1,0,1,1,1,0,0,0,0,1,0,1,1
300
+ 299,1,1,0,1,1,1,1,1,0,1,1,1,0,0
301
+ 300,0,0,0,0,0,0,1,1,1,1,0,1,0,0
302
+ 301,1,1,1,0,0,0,0,0,0,1,1,0,1,0
303
+ 302,1,1,1,0,0,0,0,1,1,1,0,1,1,0
304
+ 303,0,0,0,0,1,1,1,0,1,0,1,1,1,1
305
+ 304,0,1,1,0,1,0,1,1,1,1,1,1,1,1
306
+ 305,1,0,1,0,0,1,1,1,0,1,1,1,0,0
307
+ 306,1,1,0,1,0,0,0,1,0,1,1,1,1,0
308
+ 307,0,1,1,1,0,0,0,1,1,1,0,0,1,1
309
+ 308,0,0,1,0,1,0,1,1,0,0,1,1,1,0
310
+ 309,0,1,1,0,1,0,0,0,1,0,1,1,0,0
311
+ 310,1,1,0,1,1,0,1,0,1,0,1,0,0,1
312
+ 311,1,1,1,0,1,1,1,1,1,1,1,0,0,1
313
+ 312,1,0,0,1,0,0,0,1,0,0,1,0,1,1
314
+ 313,1,1,1,0,1,1,1,1,1,1,0,1,1,1
315
+ 314,0,0,0,1,1,0,1,1,0,1,1,0,1,0
316
+ 315,0,0,1,1,0,0,0,0,1,0,0,1,1,1
317
+ 316,0,1,0,0,0,0,0,0,0,0,1,0,1,0
318
+ 317,1,1,1,1,1,0,1,0,1,0,1,1,0,1
319
+ 318,0,0,0,1,1,0,0,0,1,1,0,1,0,1
320
+ 319,1,1,1,1,0,1,0,0,1,1,1,1,0,0
321
+ 320,0,0,1,0,1,1,1,1,1,0,0,1,1,1
322
+ 321,0,1,0,1,0,1,0,1,0,1,1,1,1,0
323
+ 322,1,0,1,0,1,1,0,0,0,1,0,1,1,0
324
+ 323,0,1,0,1,0,0,1,0,0,1,1,1,1,0
325
+ 324,1,1,0,1,1,0,1,1,1,1,0,0,1,0
326
+ 325,0,1,1,0,1,1,1,0,1,1,0,0,0,0
327
+ 326,1,1,0,1,1,1,1,1,0,0,1,0,0,0
328
+ 327,1,0,0,0,0,1,1,0,0,1,0,1,1,0
329
+ 328,1,1,1,0,1,1,0,0,0,1,1,0,0,1
330
+ 329,0,0,0,1,1,1,0,1,1,0,0,1,1,0
331
+ 330,0,1,0,1,1,1,1,1,0,0,1,1,0,1
332
+ 331,0,1,1,1,1,1,0,1,1,1,1,1,0,1
333
+ 332,1,1,1,0,0,1,1,0,1,0,1,0,0,0
334
+ 333,0,1,0,0,1,1,0,1,0,0,0,1,1,1
335
+ 334,1,1,1,0,0,0,0,1,0,1,1,1,1,1
336
+ 335,1,1,1,0,1,1,0,1,1,1,0,1,1,1
337
+ 336,1,0,1,1,0,0,1,0,0,1,0,0,0,0
338
+ 337,1,1,0,0,0,1,1,1,1,0,1,0,1,1
339
+ 338,1,1,1,0,1,0,0,1,0,0,1,0,0,1
340
+ 339,0,0,0,0,0,1,1,0,1,1,1,0,0,0
341
+ 340,1,0,0,1,1,1,1,0,0,0,1,1,0,0
342
+ 341,0,0,0,0,0,1,1,0,0,1,0,1,1,1
343
+ 342,1,1,1,1,1,0,1,0,0,1,0,1,0,1
344
+ 343,0,0,1,0,1,0,1,1,1,1,0,0,0,1
345
+ 344,1,1,0,1,1,0,0,0,1,1,1,0,0,0
346
+ 345,0,1,0,0,1,0,0,0,1,1,0,0,1,1
347
+ 346,0,0,1,0,0,0,0,1,1,1,0,0,1,1
348
+ 347,0,1,1,0,0,0,1,0,0,0,1,1,0,0
349
+ 348,0,1,0,0,1,0,1,0,1,1,0,0,1,0
350
+ 349,0,1,0,0,1,1,0,0,1,1,1,0,1,0
351
+ 350,0,0,1,0,0,1,1,1,0,0,1,0,0,0
352
+ 351,1,0,1,1,0,0,1,0,0,0,1,0,1,1
353
+ 352,0,1,1,1,1,0,1,1,0,1,0,0,0,1
354
+ 353,0,1,1,1,1,1,1,0,1,0,1,0,1,1
355
+ 354,0,0,0,0,1,0,0,0,1,1,0,1,1,1
356
+ 355,1,0,1,1,1,1,1,1,1,1,0,0,0,0
357
+ 356,0,0,0,0,0,0,1,1,1,0,1,0,1,1
358
+ 357,1,0,1,1,0,0,1,1,1,1,1,0,0,1
359
+ 358,1,1,1,0,1,1,1,0,0,1,0,1,1,1
360
+ 359,0,1,1,0,1,0,1,0,1,1,0,0,1,0
361
+ 360,0,0,0,1,1,0,0,1,0,1,1,1,0,1
362
+ 361,0,1,1,0,0,0,0,0,0,1,1,0,0,0
363
+ 362,0,1,0,0,0,1,1,1,1,0,1,1,1,1
364
+ 363,0,1,1,0,1,0,0,0,1,1,0,0,1,0
365
+ 364,0,0,0,0,0,1,0,1,0,1,0,1,0,1
366
+ 365,1,0,0,0,0,1,0,0,0,1,1,0,0,1
367
+ 366,1,0,1,1,1,0,1,1,0,0,1,1,0,0
368
+ 367,1,1,0,0,1,0,0,0,1,0,1,1,0,1
369
+ 368,1,1,0,1,1,1,1,1,1,0,0,1,1,1
370
+ 369,1,1,0,1,0,0,1,1,0,1,1,0,0,1
371
+ 370,0,0,0,0,0,0,1,0,0,0,0,0,0,1
372
+ 371,1,1,1,0,0,0,1,0,1,0,0,1,0,0
373
+ 372,0,1,0,0,1,0,0,1,0,1,0,0,0,0
374
+ 373,0,0,0,0,0,1,0,1,0,0,1,1,0,1
375
+ 374,0,1,1,1,1,1,0,1,1,1,1,1,1,0
376
+ 375,1,0,0,0,1,1,0,0,0,1,1,1,1,1
377
+ 376,0,1,1,0,1,1,0,1,0,1,0,0,0,0
378
+ 377,0,0,0,1,0,1,0,1,0,0,0,0,0,0
379
+ 378,1,1,0,1,0,0,0,0,0,1,0,1,0,0
380
+ 379,1,1,0,0,1,0,0,0,0,0,1,0,0,0
381
+ 380,1,0,0,1,0,1,1,0,0,0,0,1,1,1
382
+ 381,1,1,1,0,1,0,1,1,0,1,1,0,0,1
383
+ 382,0,0,0,1,1,1,0,1,0,0,1,0,0,1
384
+ 383,1,0,1,1,0,0,0,0,1,1,1,0,1,1
385
+ 384,0,0,0,1,1,0,1,1,0,0,1,0,0,0
386
+ 385,1,1,0,0,1,0,0,1,0,1,1,0,0,0
387
+ 386,0,0,0,1,0,1,0,0,0,0,1,1,1,1
388
+ 387,0,0,0,1,0,0,1,0,0,1,1,1,0,1
389
+ 388,0,0,1,0,1,0,1,0,0,0,0,0,0,1
390
+ 389,1,0,0,1,0,0,1,0,1,0,0,1,0,1
391
+ 390,0,1,0,1,0,0,0,1,0,1,0,1,1,0
392
+ 391,0,1,0,1,1,1,0,0,1,1,1,0,0,0
393
+ 392,1,0,1,1,0,1,1,0,1,1,1,1,0,1
394
+ 393,0,1,1,0,1,0,1,1,0,0,0,1,1,0
395
+ 394,0,0,1,1,1,0,0,1,1,1,0,0,1,1
396
+ 395,0,1,1,1,0,0,1,0,1,0,0,1,0,0
397
+ 396,1,1,1,0,1,1,1,0,1,0,1,0,1,1
398
+ 397,0,0,0,0,1,0,1,0,1,0,0,1,1,1
399
+ 398,1,0,1,1,0,1,1,0,1,0,0,0,0,0
400
+ 399,1,0,1,0,0,1,0,1,1,1,1,1,1,0
401
+ 400,0,0,0,1,0,1,1,0,0,0,1,1,0,0
402
+ 401,1,0,0,0,1,1,0,1,0,1,1,1,0,1
403
+ 402,1,1,0,1,0,1,0,0,0,1,1,1,1,0
404
+ 403,0,1,1,0,0,0,0,0,1,0,1,0,1,0
405
+ 404,0,1,1,1,1,1,1,0,1,1,1,1,0,0
406
+ 405,1,1,0,1,1,1,0,0,0,1,0,0,0,1
407
+ 406,1,0,0,0,1,1,0,0,0,0,0,1,1,0
408
+ 407,0,1,0,1,0,0,1,1,0,1,0,1,1,1
409
+ 408,1,1,1,0,1,1,1,1,0,0,0,0,0,1
410
+ 409,0,1,0,1,1,0,1,0,1,0,1,1,1,1
411
+ 410,0,1,0,1,1,0,0,0,0,1,1,0,0,0
412
+ 411,0,1,0,1,1,0,1,1,0,1,1,1,1,1
413
+ 412,0,1,1,1,1,1,0,1,0,0,0,1,1,0
414
+ 413,0,1,0,0,0,0,0,0,1,0,0,0,1,0
415
+ 414,0,0,0,1,1,1,0,1,0,0,1,0,1,0
416
+ 415,0,0,0,1,1,0,1,0,1,1,1,0,0,1
417
+ 416,0,1,1,0,0,0,1,1,1,1,0,0,1,1
418
+ 417,1,1,1,1,0,1,0,0,1,1,0,1,0,0
419
+ 418,1,1,0,0,1,1,0,0,1,1,0,0,1,0
420
+ 419,0,1,0,1,1,1,1,1,1,1,1,0,1,1
421
+ 420,0,1,1,0,1,0,0,1,0,1,1,0,0,1
422
+ 421,0,1,0,1,1,1,0,1,0,0,0,0,1,1
423
+ 422,1,0,0,1,1,1,0,0,1,1,1,1,1,1
424
+ 423,1,1,1,0,1,1,1,0,0,1,1,1,0,0
425
+ 424,0,1,1,1,1,1,1,0,1,0,1,1,1,1
426
+ 425,0,1,1,1,1,0,0,1,1,1,0,0,0,1
427
+ 426,0,0,0,1,0,1,1,1,0,1,1,0,1,1
428
+ 427,1,1,0,0,1,0,1,0,0,1,1,1,0,0
429
+ 428,1,1,0,1,1,0,1,1,0,0,0,0,1,1
430
+ 429,1,0,1,1,1,0,1,1,1,1,0,1,1,1
431
+ 430,0,1,0,0,1,0,0,0,0,0,1,1,1,0
432
+ 431,0,1,1,1,1,0,0,1,1,1,1,1,0,0
433
+ 432,0,0,1,0,0,1,1,1,0,0,1,1,0,1
434
+ 433,0,1,0,1,0,1,1,1,0,0,1,1,0,1
435
+ 434,0,0,1,1,0,1,1,1,1,0,1,0,0,0
436
+ 435,0,0,1,1,1,0,1,0,0,1,1,0,0,0
437
+ 436,1,1,1,1,1,0,1,1,0,0,0,0,0,0
438
+ 437,0,1,0,0,0,0,1,0,0,1,0,0,0,0
439
+ 438,1,1,1,0,0,0,1,1,0,0,1,1,0,1
440
+ 439,1,0,0,0,1,0,1,1,0,1,0,0,1,0
441
+ 440,0,1,1,1,1,0,0,0,1,1,0,1,0,1
442
+ 441,1,0,0,0,0,1,1,0,1,0,1,1,1,1
443
+ 442,0,0,0,1,1,1,0,0,0,0,0,1,0,0
444
+ 443,0,1,1,1,0,1,0,0,1,0,1,1,0,1
445
+ 444,0,1,0,0,1,1,0,1,1,1,1,0,0,1
446
+ 445,0,1,0,1,1,1,0,1,0,1,1,1,0,0
447
+ 446,1,1,1,1,0,0,1,0,1,1,1,1,1,0
448
+ 447,0,1,1,0,1,0,0,0,0,0,0,1,0,0
449
+ 448,1,1,0,0,0,0,1,0,0,1,1,1,0,0
450
+ 449,0,0,0,1,0,1,1,1,1,0,1,1,0,0
451
+ 450,0,0,0,1,1,0,1,1,1,0,1,0,1,0
452
+ 451,0,1,1,0,0,0,1,0,1,0,1,1,0,0
453
+ 452,1,1,0,0,1,0,0,1,0,1,0,0,0,0
454
+ 453,0,1,0,1,0,1,1,0,0,1,0,0,1,0
455
+ 454,1,0,1,1,1,1,0,0,1,0,1,1,1,1
456
+ 455,1,1,1,0,1,0,0,0,1,0,1,1,0,1
457
+ 456,0,1,1,0,0,1,0,0,1,1,0,1,1,0
458
+ 457,1,1,0,1,0,1,0,0,1,1,1,0,0,0
459
+ 458,0,0,1,1,0,0,0,0,1,0,0,0,0,1
460
+ 459,1,0,1,1,1,1,1,1,0,1,0,1,1,1
461
+ 460,1,1,1,0,0,0,0,0,1,1,0,0,1,0
462
+ 461,0,1,1,1,1,0,0,0,1,1,0,1,0,1
463
+ 462,0,1,0,1,0,1,1,1,0,1,0,0,1,0
464
+ 463,0,0,1,0,0,0,0,1,0,0,1,0,1,1
465
+ 464,1,1,1,1,1,1,1,0,0,0,0,0,0,1
466
+ 465,0,1,0,1,0,1,0,0,1,1,1,0,0,0
467
+ 466,0,1,0,0,0,0,0,0,0,1,1,1,0,1
468
+ 467,0,1,1,0,0,0,0,1,0,1,0,1,1,0
469
+ 468,0,1,0,0,1,1,0,0,0,1,0,1,1,1
470
+ 469,1,1,1,1,1,0,1,1,1,1,1,0,1,0
471
+ 470,0,1,1,1,0,1,1,1,1,1,1,0,0,1
472
+ 471,0,1,0,1,1,1,0,1,1,1,0,0,0,1
473
+ 472,1,0,1,1,0,1,1,1,1,0,0,0,0,0
474
+ 473,0,1,1,0,0,1,0,0,1,0,0,1,0,1
475
+ 474,1,0,1,1,1,1,1,0,1,1,0,0,1,0
476
+ 475,0,1,0,1,1,0,1,0,1,1,0,1,0,1
477
+ 476,0,0,0,0,0,0,1,1,0,0,1,0,0,0
478
+ 477,1,0,0,1,0,0,1,0,1,0,0,0,0,1
479
+ 478,1,0,1,0,0,0,0,0,1,0,0,0,0,0
480
+ 479,1,0,0,1,0,1,0,1,1,1,1,0,1,1
481
+ 480,0,0,0,0,1,1,1,0,1,0,1,0,1,1
482
+ 481,0,1,0,0,0,0,0,0,1,0,1,0,0,0
483
+ 482,0,0,1,1,0,0,1,0,0,0,0,1,0,1
484
+ 483,1,0,1,0,1,1,1,0,1,1,1,0,0,1
485
+ 484,0,1,0,1,0,1,1,0,1,0,1,1,0,1
486
+ 485,0,0,1,0,0,0,1,0,1,0,1,1,0,0
487
+ 486,0,0,1,0,1,1,1,1,0,1,1,0,0,0
488
+ 487,1,1,0,0,1,0,0,0,1,1,1,0,0,0
489
+ 488,1,1,1,0,0,0,1,1,1,1,1,1,0,1
490
+ 489,1,1,0,0,0,1,0,0,1,0,0,1,0,1
491
+ 490,0,0,1,0,1,1,0,1,1,0,0,1,0,1
492
+ 491,0,0,0,1,0,0,0,1,0,0,1,0,0,1
493
+ 492,0,0,1,0,0,1,1,0,1,0,0,0,0,0
494
+ 493,0,0,0,1,0,1,0,1,1,1,1,1,1,0
495
+ 494,1,0,0,0,0,0,1,0,0,0,1,1,1,0
496
+ 495,1,0,1,0,1,1,1,0,0,1,1,0,0,1
497
+ 496,0,0,0,0,1,0,1,1,1,0,1,1,0,1
498
+ 497,1,1,0,1,0,0,0,1,1,1,1,0,1,0
499
+ 498,0,0,1,1,0,0,1,0,1,1,0,0,0,1
500
+ 499,1,0,1,1,0,1,0,1,1,1,0,1,1,1
501
+ 500,1,1,1,0,0,1,0,1,0,0,1,0,0,0
502
+ 501,1,1,1,1,1,1,1,1,1,1,1,1,1,1
503
+ 502,0,0,0,0,0,0,0,0,0,0,0,0,0,1
504
+ 503,0,0,0,0,1,0,0,0,0,1,0,0,0,0
505
+ 504,0,0,0,0,1,0,0,0,0,1,0,0,0,0
506
+ 505,0,0,0,0,1,0,0,0,0,1,0,0,0,0
507
+ 506,0,0,0,0,1,0,0,0,0,1,0,0,0,0
508
+ 507,0,0,0,0,1,0,0,0,0,1,0,0,0,0
509
+ 508,0,0,0,0,1,0,0,0,0,1,0,0,0,0
510
+ 509,0,0,0,0,1,0,0,0,0,1,0,0,0,0
511
+ 510,0,0,0,0,1,0,0,0,0,1,0,0,0,0
512
+ 511,0,0,0,0,1,0,0,0,0,1,0,0,0,0
513
+ 512,0,0,0,0,1,0,0,0,0,1,1,0,0,0
514
+ 513,0,0,0,0,1,0,0,0,0,1,1,0,0,0
515
+ 514,0,0,0,0,1,0,0,0,0,1,1,0,0,0
516
+ 515,0,0,0,0,1,0,0,0,0,1,1,0,0,0
517
+ 516,0,0,0,0,1,0,0,0,0,1,1,0,0,0
518
+ 517,0,0,0,0,1,0,0,0,0,1,1,0,0,0
519
+ 518,0,0,0,0,1,0,0,0,0,1,1,0,0,0
520
+ 519,0,0,0,0,1,0,0,0,0,1,1,0,0,0
521
+ 520,0,0,0,0,1,0,0,0,0,1,1,0,0,0
522
+ 521,0,0,0,0,1,0,0,0,0,1,1,0,0,0
523
+ 522,0,0,0,0,1,0,0,0,0,1,1,0,0,0
524
+ 523,0,0,0,0,1,1,0,0,0,1,1,0,0,0
525
+ 524,0,0,0,0,1,1,0,0,0,1,1,0,0,1
526
+ 525,0,0,0,0,1,0,0,0,0,1,1,0,0,1
527
+ 526,0,0,0,0,1,0,0,0,0,1,1,0,0,1
528
+ 527,0,0,0,0,1,0,0,0,0,1,1,0,0,1
529
+ 528,0,0,0,0,1,0,0,0,0,1,1,0,0,1
530
+ 529,0,0,0,0,1,0,0,0,0,1,1,0,0,1
531
+ 530,0,0,0,0,1,0,0,0,0,1,1,0,0,1
532
+ 531,0,0,0,0,1,0,0,0,0,1,1,0,0,1
533
+ 532,0,0,0,0,1,0,0,0,0,1,1,0,0,1
534
+ 533,0,0,0,0,1,0,0,0,0,1,1,0,0,1
535
+ 534,0,0,0,0,1,0,0,0,0,1,1,0,0,1
536
+ 535,0,0,0,1,0,0,1,0,0,0,0,0,0,0
537
+ 536,0,0,0,1,0,0,1,0,0,0,0,0,0,0
538
+ 537,0,0,0,1,0,0,1,0,0,0,0,0,0,0
539
+ 538,0,0,0,1,0,0,1,0,0,0,0,0,0,0
540
+ 539,0,0,0,1,0,0,1,0,0,0,0,0,0,0
541
+ 540,0,0,0,1,0,0,1,0,0,0,0,0,0,0
542
+ 541,0,0,0,1,0,0,1,0,0,0,0,0,0,0
543
+ 542,0,0,0,1,0,0,1,0,0,0,0,0,0,0
544
+ 543,0,0,0,1,0,0,1,0,0,0,0,0,0,0
545
+ 544,0,0,0,1,0,0,1,0,0,0,0,0,0,0
546
+ 545,0,0,0,1,0,0,1,0,0,0,0,0,0,0
547
+ 546,0,0,0,1,0,0,1,0,0,0,0,0,0,0
548
+ 547,0,0,0,1,0,0,1,0,0,0,0,0,0,0
549
+ 548,0,0,0,1,0,0,1,0,0,0,0,0,0,0
550
+ 549,0,0,0,1,0,0,1,0,0,0,0,0,0,0
551
+ 550,0,0,0,1,0,0,1,0,0,0,0,0,0,0
552
+ 551,0,0,0,1,0,0,1,0,0,0,0,0,0,0
553
+ 552,0,0,0,1,0,0,1,0,0,0,0,0,0,0
554
+ 553,0,0,0,1,0,0,1,0,0,0,0,0,0,0
555
+ 554,0,0,0,1,0,0,1,0,0,0,0,0,0,0
556
+ 555,0,0,0,1,0,0,1,0,0,0,0,0,0,0
557
+ 556,0,0,0,1,0,0,1,0,0,0,0,0,0,0
558
+ 557,0,0,0,1,0,0,1,0,0,0,0,0,0,0
559
+ 558,0,0,0,1,0,0,1,0,0,0,0,0,0,0
560
+ 559,0,0,0,1,0,0,1,0,0,0,0,0,0,0
561
+ 560,0,0,0,1,0,0,1,0,0,0,0,0,0,0
562
+ 561,0,0,0,1,0,0,1,0,0,0,0,0,0,0
563
+ 562,0,0,0,1,0,0,1,0,0,0,0,0,0,0
564
+ 563,0,0,0,1,0,0,1,0,0,0,0,0,0,0
565
+ 564,0,0,0,1,0,0,1,0,0,0,0,0,0,0
566
+ 565,0,0,0,1,0,0,1,0,0,0,0,0,0,0
567
+ 566,0,0,0,1,0,0,1,0,0,0,0,0,0,0
568
+ 567,0,0,0,1,0,0,1,0,0,0,0,0,0,0
569
+ 568,0,0,0,1,0,0,1,0,0,0,0,0,0,0
570
+ 569,0,0,0,1,0,0,1,0,0,0,0,0,0,0
571
+ 570,0,0,0,1,0,0,1,0,0,0,0,0,0,0
572
+ 571,0,0,0,1,0,0,1,0,0,0,0,0,0,0
573
+ 572,0,0,0,1,0,0,1,0,0,0,0,0,0,0
574
+ 573,0,0,0,1,0,0,1,0,0,0,0,0,0,0
575
+ 574,0,0,0,1,0,0,1,0,0,0,0,0,0,0
576
+ 575,0,0,0,1,0,0,1,0,0,0,0,0,0,0
577
+ 576,0,0,0,1,0,0,1,0,0,0,0,0,0,0
578
+ 577,0,0,0,1,0,0,1,0,0,0,0,0,0,0
579
+ 578,0,0,0,1,0,0,1,0,0,0,0,0,0,0
580
+ 579,0,0,0,1,0,0,1,0,0,0,0,0,0,0
581
+ 580,0,0,0,1,0,0,1,0,0,0,0,0,0,0
582
+ 581,0,0,0,1,0,0,1,0,0,0,0,0,0,0
583
+ 582,0,0,0,1,0,0,1,0,0,0,0,0,0,0
584
+ 583,0,0,0,1,0,0,1,0,0,0,0,0,0,0
585
+ 584,0,0,0,1,0,0,1,0,0,0,0,0,0,0
586
+ 585,0,0,0,1,0,0,1,0,0,0,0,0,0,0
587
+ 586,0,0,0,1,0,0,1,0,0,0,0,0,0,0
588
+ 587,0,0,0,1,0,0,1,0,0,0,0,0,0,0
589
+ 588,0,0,0,1,0,0,1,0,0,0,0,0,0,0
590
+ 589,0,0,0,1,0,0,1,0,0,0,0,0,0,0
591
+ 590,0,0,0,1,0,0,1,0,0,0,0,0,0,0
592
+ 591,0,0,0,0,1,0,0,0,0,1,0,0,0,0
593
+ 592,0,0,0,0,1,0,0,0,0,1,0,0,0,0
594
+ 593,0,0,0,0,1,0,0,0,0,1,0,0,0,0
595
+ 594,0,0,0,0,1,0,0,0,0,1,0,0,0,0
596
+ 595,0,0,0,0,1,0,0,0,0,1,0,0,0,0
597
+ 596,0,0,0,0,1,0,0,0,0,1,0,0,0,0
598
+ 597,0,0,0,0,1,0,0,0,0,1,0,0,0,0
599
+ 598,0,0,0,0,1,0,0,0,0,1,0,0,0,0
600
+ 599,0,0,0,0,1,0,0,0,0,1,0,0,0,0
601
+ 600,0,0,0,0,1,0,0,0,0,1,0,0,0,0
602
+ 601,0,0,0,0,1,0,0,0,0,1,0,0,0,0
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ mlxtend==0.23.1
2
+ pandas==2.0.3
3
+ streamlit==1.29.0