abdellatif-laghjaj commited on
Commit
9d388a8
·
verified ·
1 Parent(s): f8dd942

Upload 2 files

Browse files
Files changed (2) hide show
  1. app_clustering.py +232 -0
  2. clustering_data.csv +1004 -0
app_clustering.py ADDED
@@ -0,0 +1,232 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from streamlit_option_menu import option_menu
3
+ import pandas as pd
4
+ from sklearn.cluster import KMeans, DBSCAN, AgglomerativeClustering
5
+ from sklearn.preprocessing import StandardScaler
6
+ from sklearn.metrics import silhouette_score, davies_bouldin_score, calinski_harabasz_score
7
+ import plotly.express as px
8
+
9
+ st.set_page_config(layout="wide")
10
+
11
+ st.title("Student Behavior Clustering 📊✨")
12
+ st.write("This app performs clustering on student behavior data to identify patterns and segments of students.")
13
+
14
+ # Two option menus: App, About
15
+ tabs = ["App", "About"]
16
+ app_mode = option_menu(None, options=tabs, icons=["📊", "❓"], default_index=0, orientation="horizontal")
17
+
18
+ # --- Sidebar for Settings and File Upload ---
19
+ st.sidebar.header("Data and Clustering Settings")
20
+
21
+ # File Upload
22
+ uploaded_file = st.sidebar.file_uploader(
23
+ "Choose a CSV file or use default:", type=["csv"]
24
+ )
25
+
26
+ # Use a default dataset if no file is uploaded
27
+ if uploaded_file is None:
28
+ df = pd.read_csv("clustering_data.csv")
29
+ else:
30
+ df = pd.read_csv(uploaded_file)
31
+
32
+ # --- Data Preprocessing (Example: Handling Missing Values) ---
33
+ # Replace this with your specific data cleaning needs
34
+ df.fillna(df.mean(), inplace=True)
35
+
36
+ # --- Feature Engineering (Example) ---
37
+ df['engagement_score'] = (
38
+ df['attendance_rate'] * 0.5 +
39
+ df['test_average'] * 0.5
40
+ )
41
+
42
+ # Select features for clustering
43
+ features = df[['attendance_rate', 'test_average', 'engagement_score']]
44
+
45
+ # Standard Scaling
46
+ scaler = StandardScaler()
47
+ scaled_features = scaler.fit_transform(features)
48
+
49
+ # Sidebar for Algorithm Selection and Parameter Tuning
50
+ st.sidebar.header("Clustering Settings")
51
+ algorithm = st.sidebar.selectbox(
52
+ "Select Algorithm:",
53
+ ("KMeans", "DBSCAN", "Hierarchical")
54
+ )
55
+
56
+ # Default values for parameters
57
+ n_clusters_kmeans = 3
58
+ eps = 0.5
59
+ min_samples = 5
60
+ n_clusters_hierarchical = 3
61
+ linkage = 'ward'
62
+
63
+ # Parameter tuning section
64
+ with st.sidebar.expander("Algorithm Parameters"):
65
+ if algorithm == "KMeans":
66
+ n_clusters_kmeans = st.slider(
67
+ "Number of Clusters (K)", 2, 10, 3,
68
+ help="Number of clusters to form for KMeans."
69
+ )
70
+ elif algorithm == "DBSCAN":
71
+ eps = st.slider(
72
+ "Epsilon (eps)", 0.1, 2.0, 0.5, 0.1,
73
+ help="Maximum distance between two samples for one to be considered as in the neighborhood of the other for DBSCAN."
74
+ )
75
+ min_samples = st.slider(
76
+ "Min Samples", 2, 10, 5,
77
+ help="The number of samples in a neighborhood for a point to be considered as a core point for DBSCAN."
78
+ )
79
+ else: # Hierarchical
80
+ n_clusters_hierarchical = st.slider(
81
+ "Number of Clusters", 2, 10, 3,
82
+ help="Number of clusters to find for hierarchical clustering."
83
+ )
84
+ linkage = st.selectbox(
85
+ "Linkage", ['ward', 'complete', 'average', 'single'],
86
+ help="Which linkage criterion to use for hierarchical clustering."
87
+ )
88
+
89
+
90
+ # Function to perform clustering
91
+ def cluster_data(algo_name, **kwargs):
92
+ try:
93
+ if algo_name == "KMeans":
94
+ model = KMeans(n_clusters=kwargs.get('n_clusters', 3), random_state=42)
95
+ elif algo_name == "DBSCAN":
96
+ model = DBSCAN(eps=kwargs.get('eps', 0.5), min_samples=kwargs.get('min_samples', 5))
97
+ else: # Hierarchical
98
+ model = AgglomerativeClustering(
99
+ n_clusters=kwargs.get('n_clusters', 3),
100
+ linkage=kwargs.get('linkage', 'ward')
101
+ )
102
+
103
+ clusters = model.fit_predict(scaled_features)
104
+ return clusters
105
+
106
+ except Exception as e:
107
+ st.error(f"An error occurred during clustering: {e}")
108
+ return None
109
+
110
+
111
+ # Perform clustering
112
+ clusters = cluster_data(
113
+ algorithm,
114
+ n_clusters=n_clusters_kmeans if algorithm == "KMeans" else n_clusters_hierarchical,
115
+ eps=eps if algorithm == "DBSCAN" else 0.5,
116
+ min_samples=min_samples if algorithm == "DBSCAN" else 5,
117
+ linkage=linkage if algorithm == "Hierarchical" else "ward",
118
+ )
119
+
120
+ # THE APP CONTENT
121
+ if app_mode == "About":
122
+ st.write(
123
+ """
124
+ ## About
125
+ This app performs clustering on student behavior data to identify patterns and segments of students.
126
+
127
+ ### Data
128
+ The dataset contains student information such as attendance rate, test average, and engagement score.
129
+
130
+ ### Clustering Algorithms
131
+ - **KMeans:** Partitions data into K clusters based on feature similarity.
132
+ - **DBSCAN:** Density-based clustering to identify outliers and clusters of varying shapes.
133
+ - **Hierarchical:** Builds a tree of clusters to identify subgroups.
134
+
135
+ ### Evaluation Metrics
136
+ - **Silhouette Score:** Measures how similar an object is to its cluster compared to other clusters.
137
+ - **Davies-Bouldin Index:** Computes the average similarity between each cluster and its most similar one.
138
+ - **Calinski-Harabasz Index:** Ratio of the sum of between-clusters dispersion and within-cluster dispersion.
139
+
140
+ ### Cluster Profiling
141
+ - Parallel coordinates plot to visualize and compare clusters across multiple features.
142
+
143
+ ### Interpretation of Clusters
144
+ - Provides insights into each cluster based on the average values of features.
145
+ """
146
+ )
147
+ st.write(
148
+ """
149
+ ## How to Use
150
+ 1. **Upload Data:** Upload your own CSV file or use the default dataset.
151
+ 2. **Select Algorithm:** Choose between KMeans, DBSCAN, and Hierarchical clustering.
152
+ 3. **Set Parameters:** Adjust the clustering parameters in the sidebar.
153
+ 4. **Interpret Results:** Explore the clustered data, evaluation metrics, and cluster profiles.
154
+ """
155
+ )
156
+ st.write(
157
+ """
158
+ ## Contact
159
+ If you have any questions or feedback, feel free to connect with me on:
160
+ - [LinkedIn](https://www.linkedin.com/in/abdellatif-laghjaj)
161
+ - [GitHub](https://www.github.com/abdellatif-laghjaj)
162
+ """
163
+ )
164
+
165
+ elif app_mode == "App":
166
+ if clusters is not None:
167
+ df['cluster'] = clusters
168
+
169
+ # --- Display Clustered Data ---
170
+ st.subheader(f"Clustered Data using {algorithm}:")
171
+ st.dataframe(df)
172
+
173
+ # --- Evaluation Metrics ---
174
+ if len(set(clusters)) > 1:
175
+ silhouette_avg = silhouette_score(scaled_features, clusters)
176
+ db_index = davies_bouldin_score(scaled_features, clusters)
177
+ ch_index = calinski_harabasz_score(scaled_features, clusters)
178
+
179
+ st.subheader("Clustering Evaluation Metrics")
180
+ st.markdown(f"**Silhouette Score:** {silhouette_avg:.2f}", unsafe_allow_html=True)
181
+ st.markdown(f"**Davies-Bouldin Index:** {db_index:.2f}", unsafe_allow_html=True)
182
+ st.markdown(f"**Calinski-Harabasz Index:** {ch_index:.2f}", unsafe_allow_html=True)
183
+ else:
184
+ st.warning("Evaluation metrics are not applicable. Only one cluster found.")
185
+
186
+ # --- Interactive 3D Scatter Plot with Plotly ---
187
+ st.subheader("Interactive 3D Cluster Visualization")
188
+ fig = px.scatter_3d(
189
+ df,
190
+ x='attendance_rate',
191
+ y='test_average',
192
+ z='engagement_score',
193
+ color='cluster',
194
+ title=f"Student Clusters ({algorithm})",
195
+ labels={'attendance_rate': 'Attendance Rate',
196
+ 'test_average': 'Test Average',
197
+ 'engagement_score': 'Engagement Score'}
198
+ )
199
+ st.plotly_chart(fig)
200
+
201
+ # --- Cluster Profiling (Example using Plotly) ---
202
+ st.subheader("Cluster Profile Visualization")
203
+ st.write("The parallel coordinates plot is a way to visualize and compare clusters across multiple features.")
204
+ profile_features = ['attendance_rate', 'test_average', 'engagement_score']
205
+ cluster_means = df.groupby('cluster')[profile_features].mean().reset_index()
206
+
207
+ fig_profile = px.parallel_coordinates(
208
+ cluster_means,
209
+ color='cluster',
210
+ dimensions=profile_features,
211
+ title="Parallel Coordinates Plot for Cluster Profiles"
212
+ )
213
+ st.plotly_chart(fig_profile)
214
+
215
+ # --- Dynamic Interpretation of Clusters ---
216
+ st.subheader("Interpretation of Clusters")
217
+ for cluster_num in cluster_means['cluster']:
218
+ cluster_data = cluster_means[cluster_means['cluster'] == cluster_num]
219
+ st.write(f"**Cluster {cluster_num}:**")
220
+ for feature in profile_features:
221
+ st.write(f"- **{feature.replace('_', ' ').title()}:** {cluster_data[feature].values[0]:.2f}")
222
+
223
+ highest_feature = cluster_data[profile_features].idxmax(axis=1).values[0]
224
+ lowest_feature = cluster_data[profile_features].idxmin(axis=1).values[0]
225
+
226
+ st.write(f"This cluster has the highest average {highest_feature.replace('_', ' ')} "
227
+ f"and the lowest average {lowest_feature.replace('_', ' ')}.")
228
+ st.write("---")
229
+
230
+ # Additional insights based on cluster characteristics can be added here.
231
+ else:
232
+ st.warning("Please configure the clustering settings and run the algorithm first.")
clustering_data.csv ADDED
@@ -0,0 +1,1004 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ student_id,attendance_rate,participation_score,assignment_completion,test_average,extracurricular_activities
2
+ 1,0.47,26,0.85,43.6,0
3
+ 2,0.74,51,0.92,75.2,1
4
+ 3,0.45,71,0.21,28.9,4
5
+ 4,0.36,51,0.75,61.1,1
6
+ 5,0.64,2,0.59,82.9,1
7
+ 6,0.86,37,0.26,96.2,0
8
+ 7,0.58,95,0.0,73.5,2
9
+ 8,0.93,98,0.31,10.8,4
10
+ 9,0.45,74,0.42,46.0,0
11
+ 10,0.33,26,0.05,83.9,4
12
+ 11,0.49,82,0.97,78.6,2
13
+ 12,0.43,63,0.44,6.2,4
14
+ 13,0.91,24,0.81,25.6,1
15
+ 14,0.97,63,0.66,77.6,3
16
+ 15,0.19,52,0.23,2.4,3
17
+ 16,0.41,85,0.74,89.3,4
18
+ 17,0.82,68,0.44,94.5,4
19
+ 18,0.57,54,0.52,42.3,0
20
+ 19,0.44,82,0.0,3.8,4
21
+ 20,0.49,57,0.8,53.4,3
22
+ 21,0.45,96,0.35,66.3,3
23
+ 22,0.11,97,0.81,72.0,1
24
+ 23,0.63,74,0.32,10.4,1
25
+ 24,0.53,2,0.79,29.4,2
26
+ 25,0.78,31,0.31,63.1,2
27
+ 26,0.16,1,0.49,29.4,2
28
+ 27,0.65,41,0.45,82.4,0
29
+ 28,0.46,50,0.22,48.6,4
30
+ 29,0.12,19,0.44,33.0,2
31
+ 30,0.4,11,0.38,62.6,2
32
+ 31,0.61,74,0.91,70.4,0
33
+ 32,1.0,3,0.69,60.8,4
34
+ 33,0.92,23,0.0,21.3,3
35
+ 34,0.57,35,0.64,18.8,4
36
+ 35,0.08,49,0.66,64.8,2
37
+ 36,0.06,26,0.02,95.2,2
38
+ 37,0.81,10,0.29,10.6,2
39
+ 38,0.43,61,0.95,61.6,0
40
+ 39,0.74,75,0.74,83.8,2
41
+ 40,0.6,19,0.86,7.0,3
42
+ 41,0.41,53,0.07,80.0,4
43
+ 42,0.42,39,0.84,15.2,1
44
+ 43,0.04,52,0.27,97.3,0
45
+ 44,0.5,68,0.03,17.3,4
46
+ 45,0.42,53,0.83,41.7,2
47
+ 46,0.66,30,0.75,63.6,0
48
+ 47,0.19,54,0.11,82.3,4
49
+ 48,0.85,85,0.21,31.9,3
50
+ 49,0.08,80,0.76,57.0,1
51
+ 50,0.73,12,0.57,71.5,4
52
+ 51,0.97,7,0.2,18.9,1
53
+ 52,0.1,92,0.42,46.3,0
54
+ 53,0.64,36,0.77,81.6,1
55
+ 54,0.1,54,0.94,90.5,1
56
+ 55,0.8,26,0.5,76.4,1
57
+ 56,0.79,78,0.93,88.5,0
58
+ 57,0.41,80,0.94,65.6,1
59
+ 58,0.28,61,0.19,87.9,0
60
+ 59,0.89,91,0.59,89.0,4
61
+ 60,0.44,78,0.96,87.4,4
62
+ 61,0.83,21,0.82,66.9,4
63
+ 62,0.97,100,0.95,87.9,3
64
+ 63,0.67,35,0.69,91.3,2
65
+ 64,0.36,55,0.91,57.0,1
66
+ 65,0.09,7,0.48,39.7,0
67
+ 66,0.52,74,0.47,98.3,4
68
+ 67,0.38,57,0.92,62.1,2
69
+ 68,0.08,94,0.01,12.3,1
70
+ 69,0.48,33,0.31,87.8,0
71
+ 70,0.62,0,0.28,59.6,3
72
+ 71,0.95,86,0.93,91.0,1
73
+ 72,0.5,70,0.81,84.7,0
74
+ 73,0.34,39,0.99,40.5,3
75
+ 74,0.22,75,0.11,8.3,0
76
+ 75,0.64,41,0.53,64.4,2
77
+ 76,0.14,36,0.51,30.9,3
78
+ 77,0.31,7,0.04,67.5,3
79
+ 78,0.36,67,0.13,26.4,3
80
+ 79,0.74,36,0.08,6.2,2
81
+ 80,0.04,62,0.72,57.7,2
82
+ 81,0.64,2,0.72,71.3,4
83
+ 82,0.61,67,0.68,87.1,4
84
+ 83,0.88,32,0.85,5.6,1
85
+ 84,0.98,27,0.11,23.2,1
86
+ 85,0.52,56,0.72,87.4,2
87
+ 86,0.68,52,0.54,57.6,0
88
+ 87,0.22,48,0.42,65.2,3
89
+ 88,0.58,28,0.79,95.4,2
90
+ 89,0.76,14,0.95,73.4,0
91
+ 90,0.25,95,0.75,50.4,3
92
+ 91,0.81,91,0.43,53.8,2
93
+ 92,0.26,32,0.61,84.7,4
94
+ 93,0.13,92,0.74,48.8,4
95
+ 94,0.21,6,0.8,49.9,0
96
+ 95,0.98,90,0.54,29.0,2
97
+ 96,0.57,56,0.91,3.9,2
98
+ 97,0.32,15,0.22,58.3,2
99
+ 98,0.69,49,0.28,98.6,4
100
+ 99,0.73,56,0.07,71.2,1
101
+ 100,0.83,56,0.33,80.4,1
102
+ 101,0.36,44,0.33,82.1,1
103
+ 102,0.82,33,0.9,85.2,3
104
+ 103,0.24,41,0.81,92.9,2
105
+ 104,0.92,53,0.25,2.8,3
106
+ 105,0.58,81,0.73,64.5,4
107
+ 106,0.83,44,0.76,78.1,4
108
+ 107,0.12,69,0.48,88.7,4
109
+ 108,0.44,52,0.44,35.7,4
110
+ 109,0.89,31,0.51,29.0,0
111
+ 110,0.21,53,0.37,51.6,3
112
+ 111,0.64,83,0.02,46.5,4
113
+ 112,0.87,62,0.57,93.5,4
114
+ 113,0.23,73,0.88,43.0,2
115
+ 114,0.97,80,0.13,71.6,3
116
+ 115,0.41,4,0.06,25.9,0
117
+ 116,0.84,97,0.63,13.6,4
118
+ 117,0.86,64,0.83,36.1,2
119
+ 118,1.0,93,0.47,64.4,0
120
+ 119,0.83,12,0.67,33.8,0
121
+ 120,0.7,41,0.51,39.6,0
122
+ 121,0.02,11,0.62,95.7,0
123
+ 122,0.06,19,0.1,69.3,2
124
+ 123,0.63,85,1.0,40.1,1
125
+ 124,0.52,17,0.01,20.3,2
126
+ 125,0.9,83,0.1,4.4,3
127
+ 126,0.61,72,0.25,87.1,1
128
+ 127,0.11,78,0.04,31.1,4
129
+ 128,0.55,74,0.72,9.8,0
130
+ 129,0.33,22,0.49,81.0,1
131
+ 130,0.21,50,0.69,48.4,0
132
+ 131,0.37,52,0.4,30.4,0
133
+ 132,0.87,22,0.98,95.5,1
134
+ 133,0.13,22,0.64,65.9,2
135
+ 134,0.85,54,0.16,68.9,0
136
+ 135,0.46,15,0.51,22.5,2
137
+ 136,0.28,55,0.33,47.2,1
138
+ 137,0.96,80,0.91,73.1,4
139
+ 138,0.04,16,0.06,33.2,3
140
+ 139,0.49,44,0.69,1.7,3
141
+ 140,0.21,28,0.49,25.3,3
142
+ 141,0.73,100,0.92,61.4,1
143
+ 142,0.63,23,0.04,64.8,2
144
+ 143,0.71,23,0.58,81.8,0
145
+ 144,0.9,37,0.51,8.3,4
146
+ 145,0.73,100,0.4,7.1,2
147
+ 146,0.92,28,0.94,5.6,3
148
+ 147,0.67,44,0.46,8.8,0
149
+ 148,0.16,88,0.2,96.5,0
150
+ 149,0.58,41,0.71,94.8,4
151
+ 150,0.25,97,0.37,61.5,1
152
+ 151,0.94,17,0.82,29.1,1
153
+ 152,0.88,40,0.58,17.3,0
154
+ 153,0.53,9,0.83,29.9,0
155
+ 154,0.06,62,0.53,90.9,0
156
+ 155,0.09,18,0.02,0.4,1
157
+ 156,0.79,74,0.37,32.2,2
158
+ 157,0.57,13,0.6,20.5,0
159
+ 158,0.14,90,0.94,59.5,0
160
+ 159,0.12,62,0.31,37.8,1
161
+ 160,0.41,70,0.33,92.0,3
162
+ 161,0.35,35,0.7,8.3,3
163
+ 162,0.0,27,0.4,81.6,1
164
+ 163,0.08,0,0.11,33.9,2
165
+ 164,0.13,6,0.41,82.4,2
166
+ 165,0.53,16,0.04,55.4,1
167
+ 166,0.29,67,0.57,61.8,1
168
+ 167,0.26,18,0.79,57.0,0
169
+ 168,0.55,57,0.53,1.2,3
170
+ 169,0.12,64,0.21,3.7,3
171
+ 170,0.46,88,0.14,33.0,3
172
+ 171,0.02,78,0.52,68.8,4
173
+ 172,0.05,46,0.04,32.1,1
174
+ 173,0.56,50,0.12,78.2,2
175
+ 174,0.74,19,0.2,23.1,3
176
+ 175,0.53,6,0.72,16.8,3
177
+ 176,0.0,23,0.3,96.3,4
178
+ 177,0.67,99,0.76,10.5,1
179
+ 178,0.74,63,0.05,4.3,1
180
+ 179,0.76,71,0.18,52.6,1
181
+ 180,0.18,97,0.93,90.0,4
182
+ 181,0.25,45,0.3,20.8,3
183
+ 182,0.74,59,0.35,49.8,0
184
+ 183,0.42,61,0.41,99.0,3
185
+ 184,0.7,65,0.39,87.4,4
186
+ 185,0.6,42,0.35,83.1,4
187
+ 186,0.77,4,0.03,90.5,1
188
+ 187,0.31,19,0.95,97.5,4
189
+ 188,0.46,36,0.88,77.9,3
190
+ 189,0.06,54,0.64,31.1,0
191
+ 190,0.32,53,0.28,34.8,0
192
+ 191,0.45,33,0.87,2.5,2
193
+ 192,0.96,90,0.84,89.9,2
194
+ 193,0.63,40,0.41,58.0,2
195
+ 194,0.63,15,0.06,79.4,4
196
+ 195,0.26,62,0.38,76.0,3
197
+ 196,0.9,43,0.02,70.3,4
198
+ 197,0.92,77,0.15,18.4,2
199
+ 198,0.36,75,0.83,98.7,0
200
+ 199,0.0,54,0.81,89.3,3
201
+ 200,0.92,5,0.49,52.1,3
202
+ 201,0.39,42,0.76,42.2,4
203
+ 202,0.05,60,0.01,10.7,2
204
+ 203,0.03,25,0.65,79.5,0
205
+ 204,0.65,44,0.8,23.5,4
206
+ 205,0.37,24,0.84,91.8,3
207
+ 206,0.4,65,0.91,22.7,0
208
+ 207,0.82,0,0.46,94.0,2
209
+ 208,0.54,100,0.65,41.5,4
210
+ 209,0.59,71,0.14,25.3,0
211
+ 210,0.65,88,0.26,80.5,1
212
+ 211,0.41,12,0.61,55.1,2
213
+ 212,0.48,30,0.49,16.0,0
214
+ 213,0.11,49,0.29,90.6,1
215
+ 214,0.31,13,0.39,67.9,0
216
+ 215,0.44,41,0.1,82.2,3
217
+ 216,0.87,80,0.59,39.1,4
218
+ 217,0.18,98,0.48,62.1,3
219
+ 218,0.28,90,0.28,39.1,4
220
+ 219,0.3,36,0.42,33.2,4
221
+ 220,0.35,83,0.35,88.9,2
222
+ 221,0.18,15,0.31,91.6,0
223
+ 222,0.94,74,0.25,42.4,2
224
+ 223,0.12,59,0.93,77.6,1
225
+ 224,0.43,67,0.95,19.6,2
226
+ 225,0.35,73,0.91,12.0,3
227
+ 226,0.41,8,0.37,36.7,2
228
+ 227,0.81,18,0.06,97.6,4
229
+ 228,0.87,77,0.64,43.6,4
230
+ 229,0.72,98,0.71,17.2,2
231
+ 230,0.27,9,0.12,88.5,3
232
+ 231,0.47,63,0.46,68.9,3
233
+ 232,0.45,36,0.8,86.0,0
234
+ 233,0.28,0,0.19,37.5,0
235
+ 234,0.17,14,0.94,8.5,2
236
+ 235,0.93,29,0.78,37.7,4
237
+ 236,0.44,25,0.77,77.2,0
238
+ 237,0.33,54,0.74,30.3,1
239
+ 238,0.0,49,0.05,3.3,0
240
+ 239,0.5,88,0.04,82.2,2
241
+ 240,0.71,79,0.37,3.7,3
242
+ 241,0.89,60,0.88,51.4,2
243
+ 242,0.17,76,0.95,29.0,3
244
+ 243,0.55,15,0.69,88.3,2
245
+ 244,0.68,30,0.37,6.3,1
246
+ 245,0.34,80,0.64,46.9,0
247
+ 246,0.98,2,0.08,28.1,1
248
+ 247,0.51,24,0.92,30.3,4
249
+ 248,0.16,48,0.6,75.1,3
250
+ 249,0.55,29,0.03,18.7,0
251
+ 250,0.57,36,0.28,29.5,2
252
+ 251,0.39,37,0.02,73.6,3
253
+ 252,0.02,77,0.48,9.8,0
254
+ 253,0.5,41,0.83,63.1,4
255
+ 254,0.85,4,0.43,53.0,1
256
+ 255,0.09,48,0.52,12.2,3
257
+ 256,0.01,9,0.81,80.6,0
258
+ 257,0.33,3,0.14,12.3,1
259
+ 258,0.65,59,1.0,61.1,3
260
+ 259,0.53,84,0.58,44.3,2
261
+ 260,0.5,42,0.94,34.2,4
262
+ 261,0.92,13,0.21,45.1,3
263
+ 262,0.38,44,0.1,51.4,1
264
+ 263,0.4,83,0.08,20.6,3
265
+ 264,0.77,53,0.93,7.3,0
266
+ 265,0.63,35,0.06,88.6,1
267
+ 266,0.08,58,0.39,67.1,4
268
+ 267,0.13,82,0.75,40.4,4
269
+ 268,0.85,58,0.42,67.3,4
270
+ 269,0.35,40,0.47,86.8,0
271
+ 270,0.89,37,0.88,97.2,0
272
+ 271,0.86,91,0.22,80.0,4
273
+ 272,0.62,67,0.27,36.2,1
274
+ 273,0.79,48,0.83,69.8,4
275
+ 274,0.84,79,0.84,56.1,4
276
+ 275,0.53,34,0.13,5.1,1
277
+ 276,0.1,30,0.74,57.3,3
278
+ 277,0.08,85,0.5,26.4,3
279
+ 278,0.88,95,0.47,37.8,3
280
+ 279,0.4,41,0.46,65.6,4
281
+ 280,0.16,49,0.52,8.3,3
282
+ 281,0.76,32,0.01,79.7,1
283
+ 282,0.29,73,0.62,77.3,2
284
+ 283,0.42,50,0.86,39.1,4
285
+ 284,0.74,39,0.86,41.1,2
286
+ 285,0.29,64,0.32,83.3,1
287
+ 286,0.16,59,0.52,3.6,1
288
+ 287,0.31,82,0.98,6.6,2
289
+ 288,0.97,2,0.63,28.7,0
290
+ 289,0.57,46,0.37,51.7,2
291
+ 290,0.85,94,0.08,44.7,3
292
+ 291,0.15,91,0.97,62.9,3
293
+ 292,0.38,62,0.33,91.8,1
294
+ 293,0.39,29,0.67,27.3,2
295
+ 294,0.03,72,0.63,56.3,1
296
+ 295,0.34,51,0.81,19.1,2
297
+ 296,0.29,33,0.35,34.5,0
298
+ 297,0.87,99,0.11,78.7,0
299
+ 298,0.1,33,0.75,9.3,0
300
+ 299,0.84,81,0.82,15.8,1
301
+ 300,0.6,43,0.17,8.2,4
302
+ 301,0.38,91,0.39,25.6,4
303
+ 302,0.16,96,0.75,10.3,3
304
+ 303,0.67,19,0.78,82.0,2
305
+ 304,0.67,21,0.64,1.4,0
306
+ 305,0.06,91,0.06,99.6,0
307
+ 306,0.53,34,0.21,40.2,3
308
+ 307,0.9,35,0.33,25.7,0
309
+ 308,0.53,99,0.79,37.6,1
310
+ 309,0.7,34,0.96,97.9,4
311
+ 310,0.67,99,0.72,65.7,1
312
+ 311,0.22,8,0.88,46.1,1
313
+ 312,0.97,57,0.73,54.6,2
314
+ 313,0.18,2,0.71,40.0,4
315
+ 314,0.07,99,0.28,76.0,2
316
+ 315,0.42,17,0.41,92.0,1
317
+ 316,0.77,52,0.03,69.6,1
318
+ 317,0.76,52,0.65,65.1,2
319
+ 318,0.73,96,0.19,22.8,0
320
+ 319,0.66,86,0.11,64.7,3
321
+ 320,0.59,68,0.93,86.2,2
322
+ 321,0.9,66,0.63,35.2,1
323
+ 322,0.96,26,0.84,43.1,0
324
+ 323,0.79,62,0.0,92.8,0
325
+ 324,0.63,95,0.68,28.3,4
326
+ 325,0.9,85,0.12,12.3,4
327
+ 326,0.28,8,0.9,0.6,4
328
+ 327,0.23,35,0.14,21.5,2
329
+ 328,0.47,34,0.64,17.7,4
330
+ 329,0.96,2,0.11,40.3,1
331
+ 330,0.45,39,0.41,27.1,2
332
+ 331,0.44,32,0.18,3.8,0
333
+ 332,0.06,13,0.22,61.5,2
334
+ 333,0.43,8,0.28,38.6,3
335
+ 334,0.35,29,0.56,91.4,1
336
+ 335,0.46,65,0.96,8.8,4
337
+ 336,1.0,50,0.5,92.2,2
338
+ 337,0.25,55,0.41,89.6,1
339
+ 338,0.15,25,0.98,63.0,0
340
+ 339,0.28,1,0.03,3.9,3
341
+ 340,1.0,30,0.06,17.5,4
342
+ 341,0.03,100,0.55,4.3,2
343
+ 342,0.39,23,0.19,53.5,3
344
+ 343,0.21,6,0.75,57.6,3
345
+ 344,0.77,32,0.41,71.1,1
346
+ 345,0.7,83,0.05,19.7,0
347
+ 346,0.98,98,0.28,34.3,1
348
+ 347,0.32,8,0.4,38.9,0
349
+ 348,0.34,35,0.21,58.1,2
350
+ 349,0.93,30,0.02,50.6,2
351
+ 350,0.81,61,0.9,97.4,4
352
+ 351,0.41,96,0.49,17.0,4
353
+ 352,0.21,11,0.38,1.3,0
354
+ 353,0.8,29,0.09,74.6,3
355
+ 354,0.61,74,0.87,27.4,3
356
+ 355,0.3,15,0.26,0.5,1
357
+ 356,0.83,38,0.59,56.8,1
358
+ 357,0.0,11,0.07,59.1,3
359
+ 358,0.5,21,0.36,48.6,2
360
+ 359,0.17,71,0.11,45.6,0
361
+ 360,0.66,89,0.98,6.5,2
362
+ 361,0.13,40,0.83,17.6,0
363
+ 362,0.51,44,0.04,92.0,3
364
+ 363,0.88,12,0.57,53.5,3
365
+ 364,0.53,71,0.0,28.6,2
366
+ 365,0.43,94,0.99,14.3,3
367
+ 366,0.33,34,0.11,35.8,0
368
+ 367,0.56,47,0.49,97.0,0
369
+ 368,0.38,5,0.26,72.9,0
370
+ 369,0.66,52,0.12,24.3,2
371
+ 370,0.36,31,0.55,9.8,1
372
+ 371,0.56,95,0.06,60.0,0
373
+ 372,0.73,63,0.19,86.1,3
374
+ 373,0.09,67,0.16,18.8,2
375
+ 374,0.76,2,0.46,40.2,1
376
+ 375,0.29,38,0.61,64.9,3
377
+ 376,0.05,66,0.75,88.2,1
378
+ 377,0.54,70,0.95,68.7,3
379
+ 378,0.28,4,0.23,17.0,2
380
+ 379,0.96,91,0.9,16.5,0
381
+ 380,0.76,20,0.54,33.5,0
382
+ 381,0.19,57,0.71,15.4,0
383
+ 382,0.96,45,0.25,47.9,1
384
+ 383,0.88,1,0.28,68.4,2
385
+ 384,0.16,7,0.9,6.5,0
386
+ 385,0.56,81,0.95,92.2,1
387
+ 386,0.48,43,0.53,94.4,1
388
+ 387,0.94,29,0.5,18.4,1
389
+ 388,0.1,62,0.23,96.5,4
390
+ 389,0.55,59,0.06,38.3,4
391
+ 390,0.92,91,0.5,60.0,0
392
+ 391,0.94,42,0.06,73.7,3
393
+ 392,0.04,41,0.91,47.9,2
394
+ 393,0.1,25,0.63,35.6,2
395
+ 394,0.09,11,0.71,96.5,1
396
+ 395,0.37,16,0.54,8.7,3
397
+ 396,0.8,41,0.28,65.3,4
398
+ 397,0.95,96,0.36,41.4,0
399
+ 398,0.44,92,0.94,10.4,1
400
+ 399,0.05,40,0.57,12.1,1
401
+ 400,0.23,16,0.37,27.7,2
402
+ 401,0.53,75,0.56,87.8,3
403
+ 402,0.06,42,0.48,22.7,1
404
+ 403,0.01,60,0.4,47.5,4
405
+ 404,0.85,81,0.82,75.9,4
406
+ 405,0.35,45,0.64,28.1,1
407
+ 406,0.3,32,0.91,89.6,3
408
+ 407,0.95,29,0.16,60.4,1
409
+ 408,0.96,17,0.83,96.3,0
410
+ 409,0.61,87,0.98,67.8,0
411
+ 410,0.52,87,0.2,83.5,1
412
+ 411,0.27,81,0.44,84.2,4
413
+ 412,0.21,73,0.71,22.4,3
414
+ 413,0.0,32,0.79,28.4,0
415
+ 414,0.3,77,0.52,17.8,3
416
+ 415,0.12,44,0.38,99.9,2
417
+ 416,0.04,37,0.32,47.2,0
418
+ 417,0.92,74,0.52,66.4,2
419
+ 418,0.6,1,0.07,94.1,1
420
+ 419,0.23,56,0.35,47.0,4
421
+ 420,0.14,13,0.65,46.5,4
422
+ 421,0.74,18,0.04,98.9,3
423
+ 422,0.49,85,0.66,56.6,1
424
+ 423,0.45,38,0.63,40.8,2
425
+ 424,0.42,24,0.82,71.7,0
426
+ 425,0.65,74,0.52,94.6,4
427
+ 426,0.01,55,0.78,68.0,0
428
+ 427,0.55,72,0.56,65.2,0
429
+ 428,0.8,29,0.59,84.3,3
430
+ 429,0.18,46,0.57,62.7,4
431
+ 430,0.61,81,0.47,68.1,3
432
+ 431,0.08,50,0.49,96.8,4
433
+ 432,0.27,98,0.77,43.6,3
434
+ 433,0.93,85,0.23,33.1,4
435
+ 434,0.28,70,0.34,44.3,1
436
+ 435,0.47,38,0.69,73.5,3
437
+ 436,0.78,0,0.04,7.6,4
438
+ 437,0.22,88,0.99,24.4,2
439
+ 438,0.61,53,0.87,77.0,0
440
+ 439,0.6,2,0.24,29.6,2
441
+ 440,0.71,72,0.43,57.9,4
442
+ 441,0.26,95,0.62,94.2,2
443
+ 442,0.42,53,0.42,92.8,4
444
+ 443,0.55,43,0.17,27.6,0
445
+ 444,0.07,56,0.19,19.2,3
446
+ 445,0.95,22,0.42,45.7,4
447
+ 446,0.65,99,0.54,41.9,4
448
+ 447,0.21,72,0.2,14.7,1
449
+ 448,0.4,69,0.66,13.7,1
450
+ 449,0.29,41,0.7,97.7,4
451
+ 450,0.04,2,0.81,68.7,1
452
+ 451,0.04,2,0.68,82.5,4
453
+ 452,0.6,95,0.32,38.2,3
454
+ 453,0.91,19,0.0,25.7,0
455
+ 454,0.16,64,0.06,56.9,4
456
+ 455,0.72,99,0.7,10.0,4
457
+ 456,0.42,95,0.21,88.7,3
458
+ 457,0.19,76,0.4,45.4,4
459
+ 458,0.59,5,0.71,27.6,0
460
+ 459,0.98,41,0.3,45.5,2
461
+ 460,0.17,10,0.26,64.8,3
462
+ 461,0.23,2,0.85,60.6,3
463
+ 462,0.35,93,0.17,16.0,1
464
+ 463,0.39,80,0.04,72.2,1
465
+ 464,0.23,64,0.39,26.4,1
466
+ 465,0.71,85,0.43,99.8,4
467
+ 466,0.04,65,0.58,17.3,3
468
+ 467,0.14,60,0.7,15.4,2
469
+ 468,0.48,23,0.87,20.7,4
470
+ 469,0.96,38,0.72,93.6,3
471
+ 470,0.58,96,0.21,78.4,3
472
+ 471,0.7,33,0.64,84.2,0
473
+ 472,0.24,26,0.53,62.4,4
474
+ 473,0.5,50,0.61,5.6,3
475
+ 474,0.65,21,0.08,98.5,4
476
+ 475,0.86,89,0.44,42.1,3
477
+ 476,0.07,58,0.33,76.5,3
478
+ 477,0.88,65,0.76,21.9,4
479
+ 478,0.08,16,0.93,97.5,3
480
+ 479,0.13,18,0.79,46.8,0
481
+ 480,0.63,76,0.32,80.3,1
482
+ 481,0.4,79,0.3,74.3,0
483
+ 482,0.28,72,0.66,85.8,0
484
+ 483,0.41,75,0.85,76.5,4
485
+ 484,0.93,0,0.33,43.4,1
486
+ 485,0.28,61,0.93,51.1,2
487
+ 486,0.35,70,1.0,90.7,3
488
+ 487,0.66,15,0.06,56.1,4
489
+ 488,0.26,90,0.55,45.9,0
490
+ 489,0.63,39,0.24,34.6,4
491
+ 490,0.53,8,0.48,3.0,1
492
+ 491,0.66,32,0.4,27.9,3
493
+ 492,0.72,40,1.0,70.2,2
494
+ 493,0.93,45,0.2,96.1,1
495
+ 494,0.77,71,0.02,4.4,0
496
+ 495,0.27,15,0.62,5.7,2
497
+ 496,0.7,41,0.92,37.5,2
498
+ 497,0.3,64,0.86,91.0,4
499
+ 498,0.52,7,0.3,62.5,2
500
+ 499,0.74,24,0.75,34.0,2
501
+ 500,0.97,76,0.74,81.7,2
502
+ 501,0.47,25,0.45,18.8,1
503
+ 502,0.27,85,0.5,15.0,2
504
+ 503,0.11,14,0.94,45.9,1
505
+ 504,0.76,70,0.66,32.6,2
506
+ 505,0.7,53,0.52,32.3,2
507
+ 506,0.62,29,0.19,12.7,1
508
+ 507,0.49,42,0.55,12.1,4
509
+ 508,0.64,78,0.07,51.3,4
510
+ 509,0.3,68,0.31,67.7,2
511
+ 510,0.7,92,0.36,50.3,3
512
+ 511,0.51,82,0.14,68.7,4
513
+ 512,0.46,81,0.14,45.2,3
514
+ 513,0.71,1,0.03,77.7,3
515
+ 514,0.42,72,0.19,76.9,3
516
+ 515,0.21,18,0.08,86.6,1
517
+ 516,0.43,4,0.96,66.2,0
518
+ 517,0.65,64,0.96,95.0,4
519
+ 518,0.86,35,0.8,21.7,1
520
+ 519,0.9,57,0.47,95.8,4
521
+ 520,0.58,76,0.48,88.4,0
522
+ 521,0.02,29,0.81,63.2,3
523
+ 522,0.02,16,0.41,14.6,0
524
+ 523,0.34,14,0.17,57.8,4
525
+ 524,0.09,74,0.06,23.2,2
526
+ 525,0.32,37,0.71,57.3,0
527
+ 526,0.58,97,0.46,12.4,2
528
+ 527,0.67,69,0.76,16.5,0
529
+ 528,0.86,15,0.44,9.3,0
530
+ 529,0.04,98,0.4,22.9,0
531
+ 530,0.19,68,0.97,12.5,2
532
+ 531,0.57,51,0.3,3.7,0
533
+ 532,0.34,70,0.65,68.4,4
534
+ 533,0.93,25,0.07,5.8,0
535
+ 534,0.13,0,0.63,10.5,2
536
+ 535,0.6,64,0.29,32.0,1
537
+ 536,0.24,57,0.74,72.4,2
538
+ 537,0.54,69,0.83,64.9,0
539
+ 538,0.26,72,0.22,20.6,4
540
+ 539,0.82,71,0.24,43.9,1
541
+ 540,0.14,44,0.16,25.9,3
542
+ 541,0.52,10,0.58,54.0,1
543
+ 542,0.65,42,0.22,89.5,1
544
+ 543,0.35,33,0.78,11.3,3
545
+ 544,0.31,18,0.78,37.4,4
546
+ 545,0.18,68,0.74,2.5,4
547
+ 546,0.7,44,0.45,69.9,3
548
+ 547,0.59,66,0.9,4.2,2
549
+ 548,0.11,46,0.2,92.2,2
550
+ 549,0.59,50,0.95,91.0,2
551
+ 550,0.11,65,0.25,7.2,2
552
+ 551,0.75,18,0.49,91.0,0
553
+ 552,0.08,28,0.31,29.4,4
554
+ 553,0.23,62,0.98,62.7,0
555
+ 554,0.67,46,0.77,24.7,3
556
+ 555,0.77,60,0.13,12.1,1
557
+ 556,0.31,12,0.92,42.6,1
558
+ 557,0.18,23,0.11,35.8,2
559
+ 558,0.15,89,0.76,19.6,0
560
+ 559,0.64,51,0.75,14.7,2
561
+ 560,0.81,66,0.5,71.7,1
562
+ 561,0.23,42,0.19,53.0,2
563
+ 562,0.32,37,0.26,60.6,1
564
+ 563,0.06,77,0.29,73.5,2
565
+ 564,0.43,54,0.08,87.4,4
566
+ 565,0.23,46,0.72,84.7,2
567
+ 566,0.27,45,0.01,56.5,1
568
+ 567,0.9,75,0.46,14.9,0
569
+ 568,0.61,86,0.84,12.8,4
570
+ 569,0.89,52,0.03,27.4,3
571
+ 570,0.55,30,0.61,21.6,3
572
+ 571,0.85,16,0.27,95.4,2
573
+ 572,0.16,63,0.28,5.4,1
574
+ 573,0.98,73,0.06,32.5,0
575
+ 574,0.82,99,0.73,84.7,3
576
+ 575,0.2,24,0.49,58.2,3
577
+ 576,0.05,8,0.96,84.6,3
578
+ 577,0.91,74,0.91,8.2,3
579
+ 578,0.71,58,0.05,39.8,3
580
+ 579,0.19,34,0.36,75.4,1
581
+ 580,0.5,42,0.75,18.0,4
582
+ 581,0.81,0,0.1,22.9,2
583
+ 582,0.96,39,0.18,82.5,0
584
+ 583,0.31,18,0.56,61.6,3
585
+ 584,0.86,12,0.51,74.5,3
586
+ 585,0.63,40,0.82,4.5,1
587
+ 586,0.02,58,0.95,36.5,4
588
+ 587,0.39,61,0.43,85.6,1
589
+ 588,0.74,4,0.24,61.2,1
590
+ 589,0.59,67,0.08,27.6,2
591
+ 590,0.32,89,0.95,3.7,0
592
+ 591,0.64,88,1.0,42.9,3
593
+ 592,0.28,13,0.97,52.2,0
594
+ 593,0.13,60,0.48,39.4,1
595
+ 594,0.26,21,0.78,14.2,1
596
+ 595,0.59,9,0.97,25.0,4
597
+ 596,0.22,42,0.8,22.5,3
598
+ 597,0.57,79,0.81,19.2,1
599
+ 598,0.82,58,0.13,4.7,4
600
+ 599,0.94,92,0.37,84.6,3
601
+ 600,0.47,99,0.33,47.0,1
602
+ 601,0.94,58,0.85,13.7,4
603
+ 602,0.03,48,0.97,37.1,3
604
+ 603,0.67,93,0.51,50.0,0
605
+ 604,0.25,53,0.5,33.1,3
606
+ 605,0.12,96,0.57,39.3,4
607
+ 606,0.32,41,0.17,19.8,4
608
+ 607,0.98,24,0.56,7.3,4
609
+ 608,0.91,67,0.96,41.9,1
610
+ 609,0.0,30,0.56,12.9,0
611
+ 610,0.32,39,0.02,81.5,1
612
+ 611,0.83,0,0.86,23.9,4
613
+ 612,0.49,27,0.99,89.8,4
614
+ 613,0.41,56,0.24,66.8,1
615
+ 614,0.57,25,0.46,8.4,0
616
+ 615,0.06,65,0.3,56.9,0
617
+ 616,0.77,6,0.24,79.2,0
618
+ 617,0.75,87,0.4,87.6,1
619
+ 618,0.54,40,0.27,75.3,4
620
+ 619,0.29,100,0.6,99.3,4
621
+ 620,0.21,84,0.67,37.0,0
622
+ 621,0.14,48,0.07,91.8,0
623
+ 622,0.16,49,0.86,21.3,2
624
+ 623,0.7,44,0.05,69.0,2
625
+ 624,0.98,27,0.1,40.0,0
626
+ 625,0.55,68,0.59,27.1,4
627
+ 626,0.12,54,0.12,26.4,3
628
+ 627,0.98,15,0.84,3.6,2
629
+ 628,0.78,55,0.9,65.4,3
630
+ 629,0.78,16,0.34,99.0,4
631
+ 630,0.14,38,0.41,8.8,4
632
+ 631,0.34,79,0.43,66.1,3
633
+ 632,0.24,16,0.3,12.8,0
634
+ 633,0.9,88,0.19,61.4,4
635
+ 634,0.37,31,0.62,88.2,0
636
+ 635,0.56,93,0.73,43.7,2
637
+ 636,0.42,66,0.28,52.7,4
638
+ 637,0.94,98,0.66,16.8,4
639
+ 638,0.91,4,0.76,98.6,4
640
+ 639,0.25,45,0.12,75.5,4
641
+ 640,0.48,36,0.47,31.0,2
642
+ 641,0.99,13,0.91,14.6,4
643
+ 642,0.5,100,0.92,89.6,4
644
+ 643,0.08,87,0.06,62.7,3
645
+ 644,0.78,77,0.28,64.4,1
646
+ 645,0.85,94,0.61,85.0,2
647
+ 646,0.57,22,0.81,6.6,0
648
+ 647,0.15,94,0.42,30.6,1
649
+ 648,0.43,36,0.33,3.3,3
650
+ 649,0.81,78,0.3,18.6,4
651
+ 650,0.35,31,0.49,56.6,2
652
+ 651,0.03,37,0.58,19.5,0
653
+ 652,0.7,37,0.63,9.0,2
654
+ 653,0.24,81,0.16,73.6,1
655
+ 654,0.16,0,0.87,96.7,1
656
+ 655,0.31,27,0.52,80.5,0
657
+ 656,0.78,22,0.24,26.3,4
658
+ 657,0.42,11,0.51,72.7,0
659
+ 658,0.94,62,0.64,35.4,3
660
+ 659,0.98,29,0.7,9.0,4
661
+ 660,0.8,52,0.67,55.6,0
662
+ 661,0.59,23,0.01,91.4,3
663
+ 662,0.13,68,0.01,44.4,1
664
+ 663,0.21,53,0.76,54.5,2
665
+ 664,0.15,79,0.47,5.6,1
666
+ 665,0.59,13,0.56,99.6,2
667
+ 666,0.03,19,0.57,92.5,3
668
+ 667,0.06,14,0.77,27.9,4
669
+ 668,0.07,81,0.25,9.3,4
670
+ 669,0.69,17,0.49,9.4,2
671
+ 670,0.53,36,0.38,24.2,4
672
+ 671,0.27,33,0.07,49.1,2
673
+ 672,0.82,69,0.98,76.2,0
674
+ 673,0.08,21,0.81,13.7,2
675
+ 674,0.44,56,0.98,23.2,1
676
+ 675,0.65,83,0.91,9.1,0
677
+ 676,0.53,66,0.57,33.6,3
678
+ 677,0.58,21,0.55,59.6,3
679
+ 678,0.76,51,0.96,25.7,4
680
+ 679,0.43,65,0.71,94.6,2
681
+ 680,0.45,44,0.73,89.5,4
682
+ 681,0.35,28,0.28,26.6,3
683
+ 682,0.32,91,0.43,63.3,2
684
+ 683,0.5,95,0.98,88.3,4
685
+ 684,0.28,53,0.63,63.8,0
686
+ 685,0.75,96,1.0,63.5,0
687
+ 686,0.53,13,0.85,80.0,4
688
+ 687,0.43,38,0.82,15.5,2
689
+ 688,0.95,89,0.2,62.3,2
690
+ 689,0.27,60,0.11,79.8,3
691
+ 690,0.63,19,0.29,42.5,2
692
+ 691,0.7,51,0.36,12.8,2
693
+ 692,0.83,69,0.3,96.1,2
694
+ 693,0.05,79,0.11,52.3,2
695
+ 694,0.06,49,0.65,20.8,4
696
+ 695,0.36,10,0.5,79.0,0
697
+ 696,1.0,88,0.74,66.4,3
698
+ 697,0.14,91,0.24,58.2,3
699
+ 698,0.97,21,0.46,93.8,0
700
+ 699,0.43,76,0.51,20.2,3
701
+ 700,0.23,86,0.93,88.2,0
702
+ 701,0.35,17,0.73,21.5,1
703
+ 702,0.26,74,0.27,34.9,1
704
+ 703,0.17,91,0.54,93.1,0
705
+ 704,0.11,91,0.74,7.0,3
706
+ 705,0.26,50,0.21,66.0,4
707
+ 706,0.19,58,0.44,56.0,0
708
+ 707,0.68,29,0.79,51.8,0
709
+ 708,0.5,23,0.99,94.0,3
710
+ 709,0.64,57,0.27,27.3,4
711
+ 710,0.25,28,0.66,80.2,3
712
+ 711,0.01,30,0.73,40.5,4
713
+ 712,0.29,81,0.74,81.0,3
714
+ 713,0.38,48,0.54,3.5,0
715
+ 714,0.53,99,0.82,9.5,1
716
+ 715,0.71,30,0.09,92.8,4
717
+ 716,0.82,81,0.41,36.2,1
718
+ 717,0.31,66,0.87,72.5,4
719
+ 718,0.92,92,0.12,51.1,3
720
+ 719,0.2,17,0.81,13.1,1
721
+ 720,0.32,40,0.08,71.3,3
722
+ 721,0.61,43,0.25,21.8,0
723
+ 722,0.59,99,0.35,65.0,0
724
+ 723,0.89,7,0.31,62.2,3
725
+ 724,0.94,78,0.45,38.1,1
726
+ 725,0.09,85,0.39,0.2,3
727
+ 726,0.83,38,0.88,14.3,1
728
+ 727,0.93,68,0.03,73.3,4
729
+ 728,0.72,25,0.77,86.8,0
730
+ 729,0.63,100,0.1,54.2,0
731
+ 730,0.44,2,0.52,53.4,3
732
+ 731,0.19,93,0.56,72.7,1
733
+ 732,0.76,43,0.78,34.9,1
734
+ 733,0.79,95,0.54,58.5,1
735
+ 734,0.58,48,0.97,69.8,3
736
+ 735,0.71,14,0.83,11.9,2
737
+ 736,0.87,84,0.09,67.2,1
738
+ 737,0.65,21,0.33,6.0,0
739
+ 738,0.4,66,0.3,91.7,0
740
+ 739,0.71,14,0.51,63.0,3
741
+ 740,0.11,71,0.24,48.3,4
742
+ 741,0.67,39,0.71,77.4,3
743
+ 742,0.6,23,0.85,36.9,3
744
+ 743,0.67,0,0.71,34.7,0
745
+ 744,0.25,98,0.43,48.8,4
746
+ 745,0.55,79,0.32,65.6,3
747
+ 746,0.96,62,0.74,98.8,4
748
+ 747,0.66,68,0.46,43.3,0
749
+ 748,0.36,92,0.77,99.1,3
750
+ 749,0.31,16,0.58,96.4,1
751
+ 750,0.67,48,0.35,10.0,0
752
+ 751,0.87,78,0.97,48.8,4
753
+ 752,0.44,51,0.2,48.8,2
754
+ 753,0.09,32,0.14,9.9,2
755
+ 754,0.74,27,0.4,46.1,4
756
+ 755,0.17,45,0.48,71.3,2
757
+ 756,0.65,51,0.12,56.8,1
758
+ 757,0.38,20,0.13,71.2,3
759
+ 758,0.23,83,0.29,73.3,1
760
+ 759,0.12,51,0.42,54.4,2
761
+ 760,0.86,66,0.75,38.6,0
762
+ 761,0.62,51,0.66,61.7,1
763
+ 762,0.18,50,0.23,5.6,1
764
+ 763,0.91,83,0.06,34.9,4
765
+ 764,0.19,72,0.23,11.3,1
766
+ 765,0.04,6,0.02,74.2,2
767
+ 766,0.21,16,0.77,54.5,4
768
+ 767,0.8,47,0.39,86.9,4
769
+ 768,0.06,62,0.2,46.3,4
770
+ 769,0.26,7,0.29,2.6,0
771
+ 770,0.91,37,0.94,78.7,2
772
+ 771,0.63,14,0.51,96.4,1
773
+ 772,0.74,70,0.89,72.3,3
774
+ 773,0.21,7,0.93,79.6,3
775
+ 774,0.69,65,0.37,90.3,3
776
+ 775,0.88,29,0.88,67.4,4
777
+ 776,0.24,91,0.16,59.1,3
778
+ 777,0.57,56,0.84,69.3,3
779
+ 778,0.77,75,0.04,88.3,4
780
+ 779,0.2,1,0.52,68.2,3
781
+ 780,0.11,1,0.31,9.5,0
782
+ 781,0.19,24,0.8,34.1,3
783
+ 782,0.48,68,0.75,12.9,3
784
+ 783,0.91,68,0.06,46.1,0
785
+ 784,0.83,13,0.64,93.4,3
786
+ 785,0.23,27,0.17,25.3,2
787
+ 786,0.34,92,0.1,74.6,4
788
+ 787,0.27,39,0.02,84.7,2
789
+ 788,0.13,21,0.4,0.8,0
790
+ 789,0.32,92,0.31,91.7,1
791
+ 790,0.39,10,0.62,84.9,0
792
+ 791,0.72,9,0.08,11.4,1
793
+ 792,0.97,85,0.06,1.5,2
794
+ 793,0.79,25,0.22,90.2,4
795
+ 794,0.63,11,0.3,89.1,4
796
+ 795,0.48,57,0.11,42.9,2
797
+ 796,0.55,69,0.37,0.1,3
798
+ 797,0.53,26,0.49,48.3,1
799
+ 798,0.51,40,0.91,78.0,1
800
+ 799,0.81,97,0.66,70.4,2
801
+ 800,0.59,16,0.35,57.0,4
802
+ 801,0.02,35,0.91,70.1,1
803
+ 802,0.91,19,0.3,97.4,1
804
+ 803,0.03,78,0.41,57.5,2
805
+ 804,0.92,10,0.79,33.8,1
806
+ 805,0.12,62,0.04,0.8,1
807
+ 806,0.23,53,0.07,87.7,1
808
+ 807,0.02,64,0.93,93.4,0
809
+ 808,0.9,86,1.0,30.4,3
810
+ 809,0.95,91,0.9,78.4,1
811
+ 810,0.53,22,0.9,83.8,3
812
+ 811,0.07,82,0.44,72.8,3
813
+ 812,0.2,7,0.7,23.3,4
814
+ 813,0.4,34,0.23,37.8,1
815
+ 814,0.91,27,0.85,68.3,1
816
+ 815,0.53,4,0.25,77.8,1
817
+ 816,0.47,85,0.87,80.6,3
818
+ 817,0.3,25,0.61,4.1,2
819
+ 818,0.23,26,0.61,85.2,1
820
+ 819,0.09,31,0.4,72.1,0
821
+ 820,0.04,1,0.91,50.3,3
822
+ 821,0.67,44,0.42,66.0,3
823
+ 822,0.51,35,0.37,98.1,0
824
+ 823,0.12,20,0.69,13.9,3
825
+ 824,0.54,88,0.38,77.4,3
826
+ 825,0.01,45,0.98,16.6,4
827
+ 826,0.23,17,0.38,39.0,4
828
+ 827,0.53,2,0.18,57.0,4
829
+ 828,0.49,25,0.39,17.3,1
830
+ 829,0.75,79,0.05,6.3,4
831
+ 830,0.2,86,0.64,42.3,0
832
+ 831,0.39,65,0.5,78.1,4
833
+ 832,0.13,38,0.93,46.1,2
834
+ 833,0.79,57,0.12,63.0,1
835
+ 834,0.24,6,0.75,17.6,0
836
+ 835,0.16,25,0.5,12.6,0
837
+ 836,0.63,13,0.3,77.0,4
838
+ 837,0.22,92,0.14,42.4,1
839
+ 838,0.72,17,0.4,45.5,4
840
+ 839,0.69,4,0.81,84.4,0
841
+ 840,0.07,32,0.95,59.8,3
842
+ 841,0.91,72,0.44,6.3,3
843
+ 842,0.54,41,0.19,23.4,4
844
+ 843,0.81,86,0.07,47.6,4
845
+ 844,0.98,71,0.72,48.0,2
846
+ 845,0.58,73,0.8,95.9,0
847
+ 846,0.67,17,0.27,48.4,0
848
+ 847,0.92,93,0.43,95.6,2
849
+ 848,0.66,24,0.51,53.7,4
850
+ 849,0.63,44,0.42,21.6,2
851
+ 850,0.84,92,0.69,80.8,4
852
+ 851,0.05,34,0.33,24.7,2
853
+ 852,0.7,11,0.82,24.6,0
854
+ 853,0.6,34,0.72,4.8,2
855
+ 854,0.25,38,0.77,9.4,0
856
+ 855,0.39,91,0.41,85.3,0
857
+ 856,0.71,32,0.5,59.1,0
858
+ 857,0.23,85,0.48,66.7,4
859
+ 858,0.35,56,0.66,61.8,1
860
+ 859,0.04,90,0.83,65.7,4
861
+ 860,0.14,73,0.83,83.4,2
862
+ 861,0.91,74,0.6,21.9,1
863
+ 862,0.31,43,0.92,85.3,4
864
+ 863,0.95,17,0.5,31.2,0
865
+ 864,0.63,4,0.75,36.9,4
866
+ 865,0.68,10,0.22,27.3,3
867
+ 866,0.21,6,0.92,72.8,3
868
+ 867,0.02,35,0.56,93.8,1
869
+ 868,0.9,39,0.55,15.1,2
870
+ 869,0.07,37,0.37,74.3,1
871
+ 870,0.84,38,0.66,82.9,1
872
+ 871,0.71,98,0.53,62.4,0
873
+ 872,0.12,84,0.53,61.4,3
874
+ 873,0.35,81,0.27,13.2,2
875
+ 874,0.43,100,0.64,84.9,3
876
+ 875,0.99,73,0.91,49.2,3
877
+ 876,0.6,57,0.67,82.3,2
878
+ 877,0.17,20,0.05,22.5,0
879
+ 878,0.41,45,0.15,85.3,0
880
+ 879,0.25,13,0.4,12.7,1
881
+ 880,0.26,13,0.19,70.7,0
882
+ 881,0.31,93,0.96,14.0,3
883
+ 882,0.69,30,0.87,73.9,1
884
+ 883,0.37,7,0.52,12.5,1
885
+ 884,0.34,99,0.56,27.6,1
886
+ 885,0.56,55,0.75,32.3,4
887
+ 886,0.53,21,0.78,31.1,0
888
+ 887,0.15,100,0.18,51.4,4
889
+ 888,0.72,71,0.72,55.9,2
890
+ 889,0.53,4,0.06,56.4,1
891
+ 890,0.45,38,0.51,99.6,2
892
+ 891,0.27,54,0.0,25.0,2
893
+ 892,0.16,74,0.28,59.7,4
894
+ 893,0.03,41,0.65,97.1,4
895
+ 894,0.46,31,0.27,98.8,1
896
+ 895,0.32,6,0.54,99.8,1
897
+ 896,0.81,54,0.54,75.0,3
898
+ 897,0.15,37,0.53,11.9,1
899
+ 898,0.83,26,0.83,30.2,3
900
+ 899,0.82,30,0.19,40.4,0
901
+ 900,0.98,60,0.12,52.1,0
902
+ 901,0.07,81,0.74,7.3,2
903
+ 902,0.69,32,0.81,48.2,3
904
+ 903,0.86,22,0.63,53.1,4
905
+ 904,0.08,91,0.93,8.7,4
906
+ 905,0.14,33,0.67,49.2,2
907
+ 906,0.47,75,0.64,49.2,2
908
+ 907,0.92,82,0.38,41.1,2
909
+ 908,0.48,61,0.13,4.4,4
910
+ 909,0.08,34,0.82,91.0,2
911
+ 910,0.06,72,0.07,95.1,4
912
+ 911,0.29,87,0.76,57.0,4
913
+ 912,0.54,91,0.42,92.1,4
914
+ 913,0.05,91,0.01,40.7,3
915
+ 914,0.84,42,0.42,14.5,0
916
+ 915,0.66,37,0.64,17.4,3
917
+ 916,0.99,3,0.01,95.3,1
918
+ 917,0.7,1,0.82,3.8,4
919
+ 918,0.56,59,0.21,92.9,3
920
+ 919,0.54,42,0.92,90.7,0
921
+ 920,0.64,1,0.19,90.3,4
922
+ 921,0.49,11,0.93,3.5,0
923
+ 922,0.76,70,0.92,61.5,3
924
+ 923,0.37,98,0.6,47.0,2
925
+ 924,0.14,7,0.36,24.1,0
926
+ 925,0.46,13,0.89,45.1,2
927
+ 926,0.04,43,0.04,19.2,3
928
+ 927,0.09,78,0.08,4.9,0
929
+ 928,0.17,90,0.96,41.9,0
930
+ 929,0.78,39,0.9,29.3,0
931
+ 930,0.33,92,0.85,92.0,0
932
+ 931,0.4,7,0.65,10.9,2
933
+ 932,0.7,66,0.48,96.8,1
934
+ 933,0.96,70,0.71,11.6,4
935
+ 934,0.85,82,0.55,44.3,3
936
+ 935,0.17,18,0.13,90.0,3
937
+ 936,0.0,84,0.02,87.3,2
938
+ 937,0.91,60,0.57,65.8,3
939
+ 938,0.93,17,0.98,31.9,3
940
+ 939,0.74,35,0.51,27.8,3
941
+ 940,0.91,26,0.25,48.6,0
942
+ 941,0.5,28,0.26,78.1,1
943
+ 942,0.77,28,0.77,54.2,2
944
+ 943,0.56,13,0.3,35.8,1
945
+ 944,0.95,55,0.26,19.6,3
946
+ 945,0.51,11,0.87,51.8,1
947
+ 946,0.56,53,0.41,97.5,3
948
+ 947,0.95,96,0.34,43.7,2
949
+ 948,0.13,76,0.63,95.8,2
950
+ 949,0.71,68,0.41,23.2,3
951
+ 950,0.71,10,0.15,60.8,3
952
+ 951,0.01,28,0.77,13.9,3
953
+ 952,0.97,16,0.21,33.2,1
954
+ 953,0.25,72,0.83,27.4,1
955
+ 954,0.74,54,0.85,81.3,4
956
+ 955,0.58,85,0.25,70.2,2
957
+ 956,0.66,24,0.16,93.3,0
958
+ 957,0.2,100,0.48,70.8,0
959
+ 958,0.02,86,0.3,99.4,3
960
+ 959,0.97,28,0.32,55.9,2
961
+ 960,0.92,38,0.95,50.7,0
962
+ 961,0.2,93,0.19,35.2,3
963
+ 962,0.06,25,0.91,53.9,1
964
+ 963,0.5,72,0.62,26.3,0
965
+ 964,0.4,71,0.72,40.0,2
966
+ 965,0.94,57,0.12,49.0,1
967
+ 966,0.1,35,0.21,20.7,4
968
+ 967,0.79,10,0.58,15.8,4
969
+ 968,0.29,99,0.67,90.0,4
970
+ 969,0.35,97,0.61,95.0,3
971
+ 970,0.68,44,0.48,80.3,3
972
+ 971,0.62,54,0.43,18.8,4
973
+ 972,0.03,2,0.13,72.7,2
974
+ 973,0.44,57,0.9,60.6,3
975
+ 974,0.56,70,0.1,56.8,0
976
+ 975,0.13,71,0.02,52.0,0
977
+ 976,0.99,75,0.46,60.5,4
978
+ 977,0.33,87,0.27,72.3,2
979
+ 978,0.24,50,0.39,27.9,0
980
+ 979,0.12,75,0.53,98.8,0
981
+ 980,0.74,92,0.82,22.4,4
982
+ 981,0.08,47,0.4,83.1,0
983
+ 982,0.81,35,0.68,0.9,2
984
+ 983,0.47,11,0.26,24.2,2
985
+ 984,0.34,39,0.3,61.8,0
986
+ 985,0.19,40,0.69,59.6,4
987
+ 986,0.83,45,0.5,86.0,3
988
+ 987,0.66,96,0.44,22.2,2
989
+ 988,0.41,52,0.16,30.4,4
990
+ 989,0.19,4,0.17,68.2,4
991
+ 990,0.26,19,0.2,78.7,3
992
+ 991,0.75,77,0.32,2.0,1
993
+ 992,0.89,41,0.65,82.6,2
994
+ 993,0.73,62,0.69,85.6,4
995
+ 994,0.01,16,0.85,9.4,1
996
+ 995,0.27,76,0.92,60.6,3
997
+ 996,0.46,8,0.98,39.5,1
998
+ 997,0.84,76,0.11,56.7,0
999
+ 998,0.74,43,0.45,18.4,0
1000
+ 999,0.14,4,0.91,19.8,3
1001
+ 1000,0.17,73,0.77,79.6,3
1002
+ 1001,0.95,33,0.67,95.3,4
1003
+ 1002,0.67,33,0.67,95.3,4
1004
+ 1003,0.52,54,0.52,90.1,3