louiecerv commited on
Commit
232c255
·
1 Parent(s): f632bc2

sync with remote

Browse files
Files changed (3) hide show
  1. app.py +79 -0
  2. requirements.txt +5 -0
  3. software_project_data.csv +301 -0
app.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import numpy as np
3
+ from sklearn.linear_model import LinearRegression
4
+ from sklearn.model_selection import train_test_split
5
+ from sklearn.metrics import mean_squared_error, r2_score
6
+ import streamlit as st
7
+ import altair as alt
8
+
9
+
10
+ try:
11
+ # Load the data
12
+ df = pd.read_csv("software_project_data.csv")
13
+ except FileNotFoundError:
14
+ st.write("Error: Data file not found.")
15
+ st.stop()
16
+
17
+ # Prepare the data for the model
18
+ X = df[['Project_Size', 'Num_Developers', 'Complexity']]
19
+ y = df['Completion_Time']
20
+
21
+ # Split the data into training and testing sets
22
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
23
+
24
+ # Create and train a Linear Regression model
25
+ model = LinearRegression()
26
+ model.fit(X_train, y_train)
27
+
28
+ # Make predictions on the testing set
29
+ y_pred = model.predict(X_test)
30
+
31
+ # Evaluate the model's performance
32
+ mse = mean_squared_error(y_test, y_pred)
33
+ r2 = r2_score(y_test, y_pred)
34
+
35
+ # Create a Streamlit app
36
+ st.title("Software Project Completion Time Estimator")
37
+
38
+ # Create tabs
39
+ tab1, tab2, tab3 = st.tabs(["Data Visualization", "Model Performance", "Prediction"])
40
+
41
+ # Tab 1: Data Visualization
42
+ with tab1:
43
+ st.write("### Software Project Data")
44
+ st.write(df)
45
+
46
+ # Scatter plot
47
+ st.write("### Scatter Plot of Project Variables vs Completion Time")
48
+ for col in ['Project_Size', 'Num_Developers', 'Complexity']:
49
+ st.write(f"**{col} vs Completion Time**")
50
+ st.altair_chart(
51
+ alt.Chart(df).mark_circle().encode(
52
+ x=col,
53
+ y='Completion_Time',
54
+ tooltip=[col, 'Completion_Time']
55
+ ).interactive(),
56
+ use_container_width=True
57
+ )
58
+
59
+ # Tab 2: Model Performance
60
+ with tab2:
61
+ st.write("### Model Performance")
62
+ st.write(f"Mean Squared Error (MSE): {mse:.2f}")
63
+ st.write(f"R-squared: {r2:.2f}")
64
+
65
+ # Tab 3: Prediction
66
+ with tab3:
67
+ st.write("### Predict Completion Time")
68
+ project_size_input = st.number_input("Project Size (Lines of Code)", min_value=1000, value=10000, step=1000)
69
+ num_developers_input = st.number_input("Number of Developers", min_value=1, value=5, step=1)
70
+ complexity_input = st.slider("Complexity (1-5)", min_value=1, max_value=5, value=3, step=1)
71
+
72
+ if st.button("Predict"):
73
+ # Create input array for prediction
74
+ input_data = [[project_size_input, num_developers_input, complexity_input]]
75
+
76
+ # Make prediction
77
+ prediction = model.predict(input_data)[0]
78
+
79
+ st.write(f"### Predicted Completion Time: {prediction:.2f}")
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ pandas
2
+ numpy
3
+ streamlit
4
+ altair
5
+ scikit-learn
software_project_data.csv ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Project_Size,Num_Developers,Complexity,Completion_Time
2
+ 59934.283060224654,9,3.3598235885505443,71925.17068837865
3
+ 47234.713976576306,4,2.9201838680739005,56703.084180339356
4
+ 62953.77076201385,10,2.6821431146603003,75554.74580053377
5
+ 80460.5971281605,5,4.138673055777238,96574.89574058168
6
+ 45316.93250553328,9,3.5574454278969694,54397.21258240883
7
+ 45317.26086101639,8,4.2201786700774475,54389.86037849199
8
+ 81584.25631014783,3,4.612604234706505,97932.38832140743
9
+ 65348.694583058175,1,3.469054848389168,78446.05479976877
10
+ 40610.51228130096,3,4.9218509003695115,48749.700532601455
11
+ 60851.200871719295,4,3.432351398167541,73018.98089806177
12
+ 40731.64614375075,2,3.5465772864891303,48893.45915526741
13
+ 40685.404928594864,1,3.2192624341689027,48840.925551709865
14
+ 54839.24543132068,7,1.3640083642053211,65812.06594332145
15
+ 11734.395106844044,8,3.905588130600913,14093.530488055932
16
+ 15501.643349739345,7,3.1897852275964462,18610.203192574518
17
+ 38754.249415180544,14,2.8036417896644177,46515.516576282585
18
+ 29743.377593311525,5,4.6418851136130925,35709.975990959705
19
+ 56284.94665190548,12,2.191837806167802,67552.5731471167
20
+ 31839.51848957578,1,3.0944091040600448,38230.469226982124
21
+ 21753.925973294172,7,3.7905674859738534,26107.715968847508
22
+ 79312.97537843109,13,4.185887102695509,95181.78256081988
23
+ 45484.47399026929,7,2.8373872317846898,54589.74210993441
24
+ 51350.564093758476,9,4.368365660074838,61647.2546884588
25
+ 21505.036275730865,3,4.07567096526159,25824.57773512469
26
+ 39112.34550949634,9,1.2649439114074634,46944.83977415595
27
+ 52218.451794197324,14,1.1834450656185318,62654.49730685447
28
+ 26980.128451553945,1,3.483222737688365,32394.778275971443
29
+ 57513.96036691344,1,2.389653632901657,69036.81803928896
30
+ 37987.2262016239,14,1.8365231643140567,45592.37257528476
31
+ 44166.12500413446,4,3.3185997378869536,53017.56350150065
32
+ 37965.867755412066,9,2.36625284182618,45567.82194113152
33
+ 87045.56369017877,6,3.1490536668562803,104468.05690548479
34
+ 49730.05550524132,13,2.840476635934288,59674.30146700586
35
+ 28845.781420881995,11,3.3390644237966147,34619.982701691944
36
+ 66450.89824206378,3,2.6012019556411254,79756.33561514759
37
+ 25583.127000579556,1,3.790670294787727,30714.849197397805
38
+ 54177.27190009511,4,1.7202690893971941,65027.27114407279
39
+ 10806.597522404489,12,3.786005864908316,12980.115954298983
40
+ 23436.27902203139,13,2.6466448574301125,28136.58828985485
41
+ 53937.22471738247,9,4.497270419417669,64743.50410603827
42
+ 64769.33159990821,3,3.0609442194568435,77739.58658748417
43
+ 53427.36562379941,12,4.892441397080417,64129.2097542223
44
+ 47687.03435223519,9,3.407741582163841,57240.78608744914
45
+ 43977.926088214226,7,1.8953962636252824,52780.112610086595
46
+ 20429.560192651454,12,4.287162547377797,24524.94348255859
47
+ 35603.115832105825,14,2.380330511289547,42728.00569461825
48
+ 40787.22458080425,4,2.390476857930734,48955.06803638911
49
+ 71142.44452437831,3,1.1272187259406605,85386.42991079415
50
+ 56872.36579136923,10,3.1948612368296345,68253.68955002677
51
+ 14739.19689274532,5,3.137694014930092,17707.13876368871
52
+ 56481.6793878959,5,2.4239659370879445,67788.24031432338
53
+ 42298.35439167367,3,4.576869051583703,50779.42942585156
54
+ 36461.55999388083,12,1.5149935931985756,43758.89155238381
55
+ 62233.52577681736,9,2.3203980532406216,74683.95202827247
56
+ 70619.99044991902,4,2.286331058720116,84756.40491890216
57
+ 68625.60238232397,11,1.3691623449149843,82357.01398230829
58
+ 33215.64953554723,5,2.924581576225173,39871.76943316169
59
+ 43815.75248297571,4,3.751138868384332,52588.36729394928
60
+ 56625.26862807128,5,3.046628054189045,67972.44607003864
61
+ 69510.90254244718,7,1.627910730864775,83421.99132517807
62
+ 40416.5152430942,9,2.5091438609682903,48504.91963848964
63
+ 46286.82046672366,7,1.0103800975345862,55559.21435042956
64
+ 27873.300519879434,13,4.473204428142347,33461.830583974275
65
+ 26075.867518386585,5,1.3380680307227277,31294.3853421587
66
+ 66250.51644788396,10,3.389112329021722,79505.8700445513
67
+ 77124.80057141646,10,4.945027983467261,92563.01128205897
68
+ 48559.797568393325,7,3.14636258394933,58285.50952342612
69
+ 70070.65795784048,14,4.696167036429733,84098.44396615696
70
+ 57232.72050095268,10,1.9444661324696173,68690.87665887202
71
+ 37097.60490789751,5,4.039821635750343,44535.92330559839
72
+ 57227.912110168276,3,3.125063015894136,68695.64091963488
73
+ 80760.73132931939,7,3.8820642455658594,96927.61672159558
74
+ 49283.47921780097,13,1.2493654500449658,59139.10027808388
75
+ 81292.87311628013,11,1.5909563676249068,97556.6083761069
76
+ -2394.902081794884,11,1.532467714349913,-2869.196232169715
77
+ 66438.05008750448,2,3.7486620216133244,79730.54068291109
78
+ 51740.94136476342,12,4.3777626905345155,62097.66721014697
79
+ 44019.85299068265,9,3.9984649280343496,52838.19076980402
80
+ 51835.21553071005,10,1.1218886109343766,62204.94228055333
81
+ 10248.621707982144,10,4.468859924298894,12308.287152580204
82
+ 45606.56224324976,12,2.416586683172502,54738.873039586666
83
+ 57142.25143023493,1,2.58865533001633,68581.79062548306
84
+ 79557.88089483032,13,1.4194766661299236,95476.16387871407
85
+ 39634.59563452705,6,3.9496208243752764,47569.92509113945
86
+ 33830.12794213625,7,1.7291355139038322,40618.680179026895
87
+ 39964.85912830927,14,3.2558603680753455,47963.6921772568
88
+ 68308.04235404148,13,4.362839943511725,81978.54159826208
89
+ 56575.02219319369,8,1.3568173148482248,67902.73400463401
90
+ 39404.79592465922,10,3.141342256062094,47293.51494102719
91
+ 60265.34866226712,9,1.9328656461992049,72333.32519787767
92
+ 51941.55098696081,2,2.371707457113041,62346.04842214818
93
+ 69372.89981065778,11,2.8958797657222246,83255.3274827009
94
+ 35958.93812245295,10,2.420417213117219,43157.65176045948
95
+ 43446.75706804464,2,3.595291361166304,52159.53467090864
96
+ 42157.83693735685,5,2.918328407017001,50603.85258191878
97
+ 20729.701037357627,13,3.336797938856677,24885.744783332248
98
+ 55922.40554129152,5,3.9472899015796514,67125.4598836668
99
+ 55221.105443597786,6,3.2309690638017496,66279.26863590296
100
+ 50102.269132849215,3,3.3461417386430363,60141.287674897416
101
+ 45308.25733249706,8,3.257834170090565,54381.06176730828
102
+ 21692.585158991715,13,2.5150905038051574,26036.740873890438
103
+ 41587.09354469282,1,2.3497873354876724,49913.991147329965
104
+ 43145.70966946461,6,4.598589588580049,51793.03687858357
105
+ 33954.45461556762,4,3.4302208891742914,40752.12338587052
106
+ 46774.285766679815,1,1.977412621858618,56144.70424192348
107
+ 58081.01713629077,7,2.9929907913957607,69707.69996044658
108
+ 87723.7180242106,9,2.321393925123656,105278.9380394128
109
+ 53491.55625663678,13,4.734767295039498,64196.06028453132
110
+ 55151.00781445529,4,1.030137452536299,66179.98793413749
111
+ 48511.081684676654,4,1.901331190850113,58223.097023054244
112
+ 11624.575694019171,6,2.4614272786962306,13955.614837675459
113
+ 49469.722491015666,12,2.9512392032349517,59362.54230381083
114
+ 51204.604198820525,3,4.4032700713445845,61467.97313011146
115
+ 99264.84224970572,13,1.3515504981605755,119128.79576702797
116
+ 46152.78070437755,12,4.223459546964573,55390.310736941596
117
+ 56030.94684667225,6,1.2226139574279014,67245.01389676414
118
+ 49305.764605895136,7,4.369256141192727,59180.70173934375
119
+ 26626.43924760936,11,1.2065419114980513,31952.648959800095
120
+ 72856.45629030041,10,1.0729699257134442,87435.74865924421
121
+ 65038.66065373548,10,3.787845849465686,78062.91310640839
122
+ 65820.63894086094,3,4.989022139073578,79000.4962484345
123
+ 31812.25090410522,7,4.586441051896083,38190.791021891484
124
+ 78055.88621872198,14,3.30399367122264,93680.5461118141
125
+ 21962.97874415438,3,4.6695824523421265,26378.293630132186
126
+ 61737.14187600541,13,1.0212000255904217,74090.91173846247
127
+ 93809.11251619957,13,4.90026865178057,112589.62561760614
128
+ 30189.27349738623,2,2.962995117035138,36249.70991051794
129
+ 38674.04540794456,12,3.8915843864871027,46424.12666365121
130
+ 51993.02730175282,14,4.28344589261341,62401.86606390883
131
+ 39930.48691767602,10,3.8738290833462146,47926.3564588323
132
+ 18986.731378677345,4,3.140146928179642,22799.24541055983
133
+ 51371.25949612055,12,2.906477936505648,61650.50555675581
134
+ 28753.925725477904,8,4.354330234810499,34509.43426179546
135
+ 59471.84861270363,13,1.8203102405978364,71368.97161551686
136
+ 31611.515315323937,9,4.871976266016937,37950.58595027295
137
+ 80998.68810035079,7,3.843809915346993,97209.49889812047
138
+ 34334.93415327526,1,1.798027709353279,41214.6521542675
139
+ 43558.76967588649,3,3.9449887347939527,52287.21589932093
140
+ 66270.3443473934,13,3.1193600927244667,79538.595900975
141
+ 25382.713671320897,12,3.828920382577778,30467.431520171394
142
+ 54549.19869208259,14,4.071118005771355,65474.79939242445
143
+ 76142.85508564857,9,1.3491607183587018,91364.03655211494
144
+ 17850.335308775448,12,3.024415825437388,21435.102689000774
145
+ 53692.677170646086,1,4.728057369027736,64458.719778772174
146
+ 55197.65588496847,9,2.282568768638057,66250.20475725071
147
+ 65636.45743554621,8,3.3755323902315952,78765.728163615
148
+ 25260.98578243836,1,2.4769219260395845,30333.669678717244
149
+ 23590.867738314475,6,2.8170718888763986,28321.033369821183
150
+ 60438.83131233795,5,3.194412471752613,72527.93691878529
151
+ 55939.693464663724,6,3.195687919555909,67147.31226593454
152
+ 55009.85700691753,10,1.8069218493209434,66025.56657831708
153
+ 56928.964189939514,12,3.7382861915193333,68314.98018304688
154
+ 36399.505568430184,13,1.3514724449706272,43683.26246860515
155
+ 54645.07394322007,13,1.5552990937680815,65584.51993520572
156
+ 55861.44946597362,13,1.0108435976573187,67042.01727472978
157
+ 35712.97163947264,5,1.4667842565667253,42869.41323326438
158
+ 87315.49022289514,6,2.892664804207569,104777.78366508518
159
+ 59476.65841823575,5,3.4244075242233545,71390.19883452664
160
+ 26173.93005594703,11,4.177157799865849,31419.268442144228
161
+ 63131.07217267659,12,1.4267970004537442,75766.23288735663
162
+ 30506.36659545357,5,4.402909840065819,36625.92799643662
163
+ 65741.69207484904,4,3.9838981021948725,78906.69082702289
164
+ 73171.91158014808,3,2.6340731717436676,87823.6835983541
165
+ 33586.353632965795,3,4.731752268399818,40322.19417337459
166
+ 69267.52258488644,4,4.963717905829562,83140.11501022882
167
+ 58255.61853872996,9,1.820007240212949,69911.31614458085
168
+ 66441.2031998898,2,2.5169143398552016,79736.10908076147
169
+ 87935.85965307895,9,4.705797694358845,105540.4353452995
170
+ 45092.23767994259,1,3.8863862030051086,54125.57102984027
171
+ 34925.27671285021,14,1.1923785758563508,41911.109042529686
172
+ 32209.711407489533,1,4.126057927005659,38672.60370359722
173
+ 33683.79430069123,5,4.311763548709967,40426.90648148343
174
+ 48457.96581171791,6,4.002007699061254,58155.457248790764
175
+ 56823.03949633288,6,4.1981485236780625,68201.8440740256
176
+ 55533.815986600384,3,4.300530706771189,66661.2033280989
177
+ 66543.66498072048,7,1.7456199471525764,79864.88221808571
178
+ 50260.03783755814,9,1.942766984259999,60311.74575005104
179
+ 79070.68154314633,11,3.535034254880709,94898.03859483487
180
+ 44706.86333524088,12,4.631464521850064,53658.9893155021
181
+ 104403.38333179237,10,2.2647863291859784,125287.30617774832
182
+ 62513.34695530013,8,3.3532267031802268,75024.7566538378
183
+ 32856.848871674345,6,3.7319282536685296,39446.75775330358
184
+ 28582.150038777752,12,2.807794405196157,34307.36956147172
185
+ 59649.448304863705,8,3.855129819421304,71592.82732299878
186
+ 45530.74429348298,12,4.5986697811686925,54650.00730532654
187
+ 64280.00988184184,5,3.4964061767273504,77155.3933625351
188
+ 59464.7524914709,8,3.159124247658532,71368.71530254722
189
+ 48543.42174686254,10,2.7549787015533562,58261.26513742121
190
+ 33064.1256386319,12,3.309945083624503,39691.31648276803
191
+ 19703.055506282708,4,2.4214498072735835,23654.862298936117
192
+ 41069.70095865958,10,2.5659284408060077,49295.146674469914
193
+ 67127.97588646944,8,3.127429918752696,80562.47111615686
194
+ 54281.87488260408,10,1.2664764495632679,65141.33671354174
195
+ 25085.22442576024,12,1.9161015636991854,30106.939316037533
196
+ 53463.61851702364,2,3.1713972424536356,64175.24707779944
197
+ 57706.347594576735,12,2.7261125725457704,69260.80330473618
198
+ 32322.85127597734,12,2.331263143649937,38794.132415349624
199
+ 53074.50211891056,5,3.922196547237206,63697.70884950414
200
+ 51164.17436892,9,3.7748704296133537,61412.4036502457
201
+ 27140.594043387537,4,1.6669230399735326,32591.949370535705
202
+ 57155.747206965665,11,4.514516461493753,68599.92628366787
203
+ 61215.690527364684,6,2.9816945056158626,73462.93903090575
204
+ 71661.02486350553,1,3.9658436445561818,86013.19270976538
205
+ 71076.04104069807,9,3.2926033970295547,85302.26569431434
206
+ 22446.61264085818,1,4.990770463695373,26957.176550972243
207
+ 31243.499201697545,5,4.00961248015529,37512.950122737326
208
+ 60300.7053441732,4,3.827921844973836,72384.10759155195
209
+ 60275.71901824418,13,4.114287756203004,72344.16647000953
210
+ 60300.95372612096,12,1.5725119421938785,72364.81046077728
211
+ 127054.62981309442,13,1.818178372677853,152475.32961556685
212
+ 61417.81021386334,13,3.8562563288944567,73703.14374925218
213
+ 72711.31280361197,14,2.9759259485234506,87256.23489860201
214
+ 69080.03526986405,3,4.018541167440466,82910.66553786244
215
+ 63027.825026115956,13,1.41166412297658,75636.36443840693
216
+ 43694.61510719309,6,3.145925405938379,52449.136615458985
217
+ 65179.38440986535,2,2.515286262227663,78228.9459427523
218
+ 34543.495709248564,3,2.8280008771267133,41462.334674318576
219
+ 45263.62786519982,5,3.41583148829005,54335.76726838399
220
+ 40292.72904341793,9,3.0091533898501206,48360.42045196512
221
+ 51637.482787726454,2,3.159442548451347,61981.78859624723
222
+ 96293.17133347018,10,2.945429927982431,115563.92451371155
223
+ 12654.696148165036,8,2.635820708341973,15196.01931760851
224
+ 63725.20380749027,14,4.08752792239298,76479.47974726804
225
+ 17745.682576206967,2,1.048812289272178,21310.993489273722
226
+ 40561.36268421133,11,3.393770804820908,48684.076495438494
227
+ 71779.01193934731,13,3.2620333892918953,86146.88339561898
228
+ 51285.60038190926,5,3.8647162989318087,61561.105586260026
229
+ 28445.104441413878,7,3.396117459109306,34157.100061065365
230
+ 35693.925814800634,8,4.307195311236313,42849.1260331282
231
+ 63591.95497869352,1,4.836299178256111,76334.82658872861
232
+ 35392.66736565727,6,2.3700970287141736,42487.83436493048
233
+ 54329.1717916395,1,1.909403932119948,65209.29774859745
234
+ 50911.436798076276,2,2.6943874496819316,61105.670860832084
235
+ 36967.99304788366,1,2.1517184659029045,44373.800225719526
236
+ 92878.8817865065,11,3.4598010526106178,111462.1851118118
237
+ 62678.38044636023,5,4.647409635371859,75226.92340487972
238
+ 9497.148266847857,10,1.5564647765722475,11404.058108004867
239
+ 53729.08629538855,9,1.403178412063546,64478.063917756175
240
+ 36764.27070463224,6,2.024062127414649,44128.35926498322
241
+ 67048.66669592448,11,3.904382344249603,80468.56761875143
242
+ 34149.58523134599,11,3.3718516210352862,40988.923799201315
243
+ 47705.27117066202,1,1.4088506569007984,57261.82781467582
244
+ 60099.745579609145,13,4.6750020890429855,72128.27270513165
245
+ 67315.10388340242,1,4.160338548496346,80800.91996168382
246
+ 25994.071858884476,2,1.09209041915055,31211.852996042442
247
+ 43309.97528318103,9,3.6054688439529845,51985.49955734188
248
+ 40501.09377678088,3,4.0849866740789516,48615.214520395886
249
+ 36933.41534852576,1,2.497741478881688,44332.467681871414
250
+ 85309.08480562194,5,1.2756861574688751,102378.84966763607
251
+ 58099.63421921911,7,1.309284261955149,69724.25982223246
252
+ 24782.320913299096,6,1.416987864207238,29742.57166407138
253
+ 68357.23894109552,12,4.361758527921692,82040.76316201923
254
+ 92443.12394025267,1,4.642744793022852,110951.44960362712
255
+ 70649.30521102293,5,1.4912431273829352,84789.84296546377
256
+ 19612.60068091973,5,1.9436241383803248,23551.911814510706
257
+ 40315.31854267497,6,1.662082041469159,48386.55569214401
258
+ 75338.22298373246,3,1.7452835179764827,90411.90368925048
259
+ 35846.61068762439,5,4.349963156009968,43030.813270578015
260
+ 58876.38856292457,7,2.3285856506197558,70665.73986572161
261
+ 65492.68106858674,5,2.2457770561825647,78606.21557629813
262
+ 31461.390568438343,5,1.9095824835084505,37767.035836572846
263
+ 48809.492878763995,5,3.4315775751770348,58582.846864838924
264
+ -14825.346801381449,10,2.5172227935421954,-17778.363591583715
265
+ 29512.247173314205,10,3.9769986073731554,35431.52359988566
266
+ 44948.636972136796,3,1.82231923350255,53947.043056498456
267
+ 25044.33636070301,1,4.151159554857969,30072.573681243044
268
+ 82648.22607863271,5,3.414886126920556,99202.51051949497
269
+ 21397.172440787348,14,1.457069200222751,25675.350230563054
270
+ 41199.11026606032,9,2.6580183368145107,49439.8519317682
271
+ 52614.81154572183,14,4.454072562451827,63154.62355844465
272
+ 78825.4657813223,1,4.691840927193939,94617.17156376326
273
+ 21282.756976411212,3,2.8628004892752528,25551.780536298753
274
+ 73263.27504309919,13,2.923347912356294,87922.27346259059
275
+ 50204.66122039174,13,4.6738188997572045,60250.75333646853
276
+ 30369.826979040983,4,3.348272896546269,36459.4078184536
277
+ 59242.06948526541,14,1.1313866809737534,71097.94141759777
278
+ 53981.1939114694,1,4.650997851516515,64795.54716418328
279
+ 37995.66245682411,1,1.9929057710286076,45613.36272251043
280
+ 51396.04169980038,8,3.310527816366189,61689.44497858832
281
+ 42293.7280627648,2,1.6620532697118953,50767.91789294645
282
+ 52270.34690502496,12,1.13551664098638,62725.23353172949
283
+ 63242.61349042093,8,2.2458926845310296,75898.57779930177
284
+ 81720.33632290704,7,4.121982830184351,98069.87468239154
285
+ 25243.69002346302,10,2.1103486905176725,30296.870552819364
286
+ 92660.66749312534,10,1.8803888563243882,111205.31939118136
287
+ 10958.244009549962,2,1.8507231373649051,13158.272958332855
288
+ 46964.29809928833,6,3.0606947296272504,56366.10794770077
289
+ 61766.344129691526,6,4.902165262731025,74140.26931790519
290
+ 55619.837354700656,3,2.835955952068052,66760.50855698092
291
+ 37546.00960358812,11,3.2292214755601916,45067.93389424362
292
+ 45837.55499285449,2,4.442528071562936,55018.75620890385
293
+ 40139.98130682334,12,3.1402788757346345,48189.048555123845
294
+ 38212.704861115766,1,1.7378514856754244,45862.71169518226
295
+ 66992.04194042049,6,2.198383647065908,80401.91752419091
296
+ 57140.309719300945,12,2.2397477050744437,68573.57775494446
297
+ 36141.80809478692,5,2.5892724618303915,43376.70968731205
298
+ 67991.99750866502,14,2.7071556213469976,81594.11385233734
299
+ 56145.990417532186,14,4.199128088297078,67384.60285926379
300
+ 66257.2423767792,11,2.397547996197332,79512.63485606622
301
+ 62592.57683847225,9,2.8729273137655174,75125.76064255877