diff --git a/SQLFeatureExtraction/data/ub_Aligon.csv b/SQLFeatureExtraction/data/ub_Aligon.csv new file mode 100644 index 0000000..18450bc --- /dev/null +++ b/SQLFeatureExtraction/data/ub_Aligon.csv @@ -0,0 +1,102 @@ +0.0,0.24444444444444446,0.0,0.6944444444444444,0.8055555555555556,0.19444444444444453,0.19444444444444453,0.45000000000000007,0.19444444444444453,0.11111111111111116,0.25,0.11111111111111116,0.4722222222222222,0.16666666666666663,0.19444444444444453,0.19444444444444453,0.24444444444444446,0.19444444444444453,0.4222222222222223,0.08333333333333337,0.19444444444444453,0.08333333333333337,0.6666666666666667,0.36111111111111116,0.6388888888888888,0.6666666666666667,0.8333333333333334,0.33333333333333337,0.36111111111111116,0.4722222222222222,0.36111111111111116,0.5166666666666666,0.19444444444444453,0.19444444444444453,0.24444444444444446,0.2777777777777778,0.08333333333333337,0.36111111111111116,0.36111111111111116,0.19444444444444453,0.8055555555555556,0.7166666666666667,0.36111111111111116,0.85,0.30555555555555547,0.1333333333333333,0.36111111111111116,0.6944444444444444,0.19444444444444453,0.16666666666666663,0.33333333333333337,0.37777777777777777,0.24444444444444446,0.38888888888888895,0.36111111111111116,0.33333333333333337,0.25,0.36111111111111116,0.08333333333333337,0.19444444444444453,0.25,0.19444444444444453,0.5833333333333333,0.7222222222222222,0.6666666666666667,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.75,0.7666666666666667,0.5333333333333334,0.6111111111111112,1.0,0.41666666666666663,1.0,0.6000000000000001,0.5833333333333333,0.75,0.6666666666666667,0.9166666666666666,0.5833333333333333,0.8333333333333334,0.6333333333333333,0.6666666666666667,0.7166666666666667,0.8,0.7833333333333333,0.5833333333333333,0.9166666666666666,0.9166666666666666,0.5,0.8666666666666667,0.33333333333333337,1.0,0.75,0.7222222222222223,0.5833333333333333,0.5833333333333333,0.85,0.8,0.5,0.6666666666666667 +0.24444444444444446,0.0,0.24444444444444446,0.8333333333333334,0.7777777777777778,0.06666666666666676,0.06666666666666676,0.38888888888888895,0.16666666666666663,0.1333333333333333,0.3555555555555555,0.1333333333333333,0.3666666666666667,0.24444444444444446,0.28888888888888886,0.06666666666666676,0.0,0.06666666666666676,0.33333333333333337,0.1777777777777777,0.06666666666666676,0.1777777777777777,0.6000000000000001,0.4222222222222223,0.6111111111111112,0.6000000000000001,0.8055555555555556,0.2666666666666666,0.4222222222222223,0.44444444444444453,0.5,0.5079365079365079,0.16666666666666663,0.16666666666666663,0.11111111111111105,0.3555555555555555,0.1777777777777777,0.5,0.4222222222222223,0.06666666666666676,0.9444444444444444,0.5555555555555556,0.4222222222222223,0.6888888888888889,0.2333333333333334,0.2222222222222222,0.4222222222222223,0.7555555555555555,0.06666666666666676,0.33333333333333337,0.48888888888888893,0.5079365079365079,0.0,0.29999999999999993,0.4222222222222223,0.48888888888888893,0.34444444444444444,0.5,0.1777777777777777,0.06666666666666676,0.3111111111111112,0.16666666666666663,0.6166666666666667,0.85,0.6222222222222222,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.7833333333333333,0.7261904761904763,0.5158730158730158,0.5,0.9523809523809523,0.34444444444444444,1.0,0.6388888888888888,0.5666666666666667,0.7333333333333334,0.75,0.8666666666666667,0.6166666666666667,0.7555555555555555,0.6111111111111112,0.5888888888888888,0.6666666666666667,0.6666666666666667,0.7222222222222223,0.5666666666666667,0.8888888888888888,0.9523809523809523,0.55,0.8055555555555556,0.28888888888888886,1.0,0.7333333333333334,0.6666666666666667,0.47777777777777775,0.5666666666666667,0.8666666666666667,0.7777777777777778,0.4222222222222223,0.6222222222222222 +0.0,0.24444444444444446,0.0,0.6944444444444444,0.8055555555555556,0.19444444444444453,0.19444444444444453,0.45000000000000007,0.19444444444444453,0.11111111111111116,0.25,0.11111111111111116,0.4722222222222222,0.16666666666666663,0.19444444444444453,0.19444444444444453,0.24444444444444446,0.19444444444444453,0.4222222222222223,0.08333333333333337,0.19444444444444453,0.08333333333333337,0.6666666666666667,0.36111111111111116,0.6388888888888888,0.6666666666666667,0.8333333333333334,0.33333333333333337,0.36111111111111116,0.4722222222222222,0.36111111111111116,0.5166666666666666,0.19444444444444453,0.19444444444444453,0.24444444444444446,0.2777777777777778,0.08333333333333337,0.36111111111111116,0.36111111111111116,0.19444444444444453,0.8055555555555556,0.7166666666666667,0.36111111111111116,0.85,0.30555555555555547,0.1333333333333333,0.36111111111111116,0.6944444444444444,0.19444444444444453,0.16666666666666663,0.33333333333333337,0.37777777777777777,0.24444444444444446,0.38888888888888895,0.36111111111111116,0.33333333333333337,0.25,0.36111111111111116,0.08333333333333337,0.19444444444444453,0.25,0.19444444444444453,0.5833333333333333,0.7222222222222222,0.6666666666666667,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.75,0.7666666666666667,0.5333333333333334,0.6111111111111112,1.0,0.41666666666666663,1.0,0.6000000000000001,0.5833333333333333,0.75,0.6666666666666667,0.9166666666666666,0.5833333333333333,0.8333333333333334,0.6333333333333333,0.6666666666666667,0.7166666666666667,0.8,0.7833333333333333,0.5833333333333333,0.9166666666666666,0.9166666666666666,0.5,0.8666666666666667,0.33333333333333337,1.0,0.75,0.7222222222222223,0.5833333333333333,0.5833333333333333,0.85,0.8,0.5,0.6666666666666667 +0.6944444444444444,0.8333333333333334,0.6944444444444444,0.0,0.75,0.8222222222222223,0.8222222222222223,0.8222222222222223,0.7222222222222223,0.8055555555555556,0.8055555555555556,0.8055555555555556,0.7222222222222222,0.6944444444444444,0.6000000000000001,0.8222222222222223,0.8333333333333334,0.8222222222222223,1.0,0.7111111111111111,0.8222222222222223,0.7111111111111111,1.0,0.5555555555555556,1.0,1.0,0.9166666666666666,0.7222222222222223,0.5555555555555556,0.7222222222222222,0.5555555555555556,0.6666666666666667,0.7222222222222223,0.8222222222222223,0.7555555555555555,0.5833333333333333,0.7111111111111111,0.33333333333333337,0.5555555555555556,0.8222222222222223,0.5833333333333333,0.9444444444444444,0.5555555555555556,1.0,0.9333333333333333,0.7222222222222223,0.5555555555555556,0.33333333333333326,0.8222222222222223,0.7777777777777778,0.5,0.4444444444444444,0.8333333333333334,1.0,0.5555555555555556,0.5,0.7111111111111111,0.33333333333333337,0.7111111111111111,0.8222222222222223,0.6666666666666667,0.7222222222222223,0.6666666666666667,0.41666666666666674,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.85,0.8888888888888888,1.0,0.85,1.0,0.7777777777777778,0.9333333333333333,0.9333333333333333,0.7777777777777778,0.8888888888888888,0.6666666666666667,0.7777777777777778,0.9444444444444444,0.7777777777777778,0.9444444444444444,0.9444444444444444,1.0,0.9333333333333333,1.0,0.8888888888888888,0.6944444444444444,1.0,0.8222222222222223,1.0,0.9333333333333333,0.8333333333333334,0.8055555555555556,0.9333333333333333,0.8055555555555556,0.9444444444444444,0.7777777777777778,0.8222222222222223 +0.8055555555555556,0.7777777777777778,0.8055555555555556,0.75,0.0,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.9047619047619048,0.8888888888888888,0.8888888888888888,0.8888888888888888,0.8666666666666667,0.8055555555555556,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.9047619047619048,0.75,0.8333333333333334,0.75,0.9333333333333333,0.7555555555555555,1.0,0.9333333333333333,0.6666666666666667,0.9333333333333333,0.7555555555555555,0.9444444444444444,0.8333333333333334,0.9523809523809523,0.9047619047619048,0.9047619047619048,0.8571428571428571,0.6888888888888889,0.75,0.8333333333333334,0.7555555555555555,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.7555555555555555,0.8,0.8333333333333334,0.7738095238095238,0.7555555555555555,0.6333333333333333,0.8333333333333334,0.8690476190476191,0.8222222222222223,0.7777777777777778,0.7777777777777778,0.8888888888888888,0.7555555555555555,0.8222222222222223,0.75,0.8333333333333334,0.75,0.8333333333333334,0.7833333333333333,0.9047619047619048,0.7833333333333333,0.775,0.8333333333333334,0.8666666666666667,1.0,1.0,0.7833333333333333,0.875,0.9047619047619048,1.0,0.9523809523809523,0.8333333333333334,1.0,0.8055555555555556,0.8333333333333334,0.8333333333333334,0.9166666666666666,0.8666666666666667,0.7833333333333333,0.8666666666666667,0.7777777777777778,0.8666666666666667,0.8571428571428571,0.7777777777777778,0.9047619047619048,0.8333333333333334,1.0,0.8412698412698413,0.7166666666666667,0.8690476190476191,0.8333333333333334,1.0,0.7222222222222223,1.0,0.8666666666666667,0.8333333333333334,0.6444444444444444,0.8571428571428571,0.8666666666666667,0.8333333333333334 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.45000000000000007,0.38888888888888895,0.45000000000000007,0.8222222222222223,0.8333333333333334,0.3555555555555555,0.3555555555555555,0.0,0.4444444444444444,0.4222222222222223,0.4222222222222223,0.4222222222222223,0.33333333333333337,0.45000000000000007,0.3555555555555555,0.3555555555555555,0.38888888888888895,0.3555555555555555,0.5555555555555556,0.3833333333333333,0.3555555555555555,0.3833333333333333,0.5833333333333333,0.38888888888888895,0.8333333333333334,0.5833333333333333,0.9444444444444444,0.4722222222222222,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.4444444444444444,0.4444444444444444,0.46031746031746035,0.30555555555555547,0.4722222222222222,0.48888888888888893,0.38888888888888895,0.3555555555555555,0.9333333333333333,0.8333333333333334,0.38888888888888895,0.8666666666666667,0.4666666666666667,0.41666666666666663,0.38888888888888895,0.7222222222222223,0.3555555555555555,0.5277777777777779,0.4722222222222222,0.5,0.38888888888888895,0.5333333333333334,0.38888888888888895,0.4722222222222222,0.55,0.48888888888888893,0.3833333333333333,0.3555555555555555,0.41666666666666663,0.4444444444444444,0.6833333333333333,0.8333333333333334,0.7777777777777778,0.8222222222222223,0.8333333333333334,0.9166666666666666,0.9333333333333333,0.9166666666666666,0.6388888888888888,0.7222222222222223,1.0,0.6388888888888888,1.0,0.6944444444444444,0.7222222222222222,0.8888888888888888,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.7380952380952381,0.6555555555555557,0.9047619047619048,0.8333333333333334,0.9523809523809523,0.7222222222222222,1.0,1.0,0.6166666666666667,1.0,0.4444444444444444,1.0,0.8888888888888888,0.6666666666666667,0.6833333333333333,0.7222222222222222,0.9333333333333333,0.9047619047619048,0.48888888888888893,0.7777777777777778 +0.19444444444444453,0.16666666666666663,0.19444444444444453,0.7222222222222223,0.9047619047619048,0.1333333333333333,0.1333333333333333,0.4444444444444444,0.0,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.43333333333333335,0.3111111111111112,0.3555555555555555,0.1333333333333333,0.16666666666666663,0.1333333333333333,0.38888888888888884,0.24444444444444446,0.1333333333333333,0.24444444444444446,0.6666666666666667,0.48888888888888893,0.6000000000000001,0.6666666666666667,0.9166666666666666,0.25,0.48888888888888893,0.43333333333333335,0.48888888888888893,0.4222222222222223,0.0,0.1333333333333333,0.06666666666666676,0.4222222222222223,0.24444444444444446,0.38888888888888895,0.48888888888888893,0.1333333333333333,0.9333333333333333,0.7222222222222223,0.48888888888888893,0.8333333333333334,0.29999999999999993,0.2777777777777778,0.48888888888888893,0.8222222222222223,0.1333333333333333,0.3111111111111112,0.4722222222222222,0.4222222222222223,0.16666666666666663,0.3666666666666667,0.48888888888888893,0.4722222222222222,0.4111111111111111,0.38888888888888895,0.24444444444444446,0.1333333333333333,0.37777777777777777,0.0,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.11111111111111116,0.1333333333333333,0.11111111111111116,0.8055555555555556,0.8888888888888888,0.08333333333333337,0.08333333333333337,0.4222222222222223,0.08333333333333337,0.0,0.2222222222222222,0.0,0.41666666666666663,0.2777777777777778,0.30555555555555547,0.08333333333333337,0.1333333333333333,0.08333333333333337,0.3666666666666667,0.19444444444444453,0.08333333333333337,0.19444444444444453,0.6666666666666667,0.4722222222222222,0.5833333333333333,0.6666666666666667,0.9166666666666666,0.2222222222222222,0.4722222222222222,0.41666666666666663,0.4722222222222222,0.48888888888888893,0.08333333333333337,0.08333333333333337,0.1333333333333333,0.38888888888888895,0.19444444444444453,0.4722222222222222,0.4722222222222222,0.08333333333333337,0.9166666666666666,0.6888888888888889,0.4722222222222222,0.8222222222222223,0.25,0.24444444444444446,0.4722222222222222,0.8055555555555556,0.08333333333333337,0.2777777777777778,0.4444444444444444,0.48888888888888893,0.1333333333333333,0.33333333333333337,0.4722222222222222,0.4444444444444444,0.36111111111111116,0.4722222222222222,0.19444444444444453,0.08333333333333337,0.36111111111111116,0.08333333333333337,0.6666666666666667,0.8055555555555556,0.6388888888888888,0.8055555555555556,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.75,0.47777777777777775,0.5,1.0,0.36111111111111116,1.0,0.6833333333333333,0.5833333333333333,0.75,0.75,0.9166666666666666,0.6666666666666667,0.8055555555555556,0.6333333333333333,0.6388888888888888,0.6888888888888889,0.8,0.7555555555555555,0.5833333333333333,0.8888888888888888,1.0,0.5833333333333333,0.85,0.30555555555555547,1.0,0.75,0.6666666666666667,0.5277777777777779,0.5833333333333333,0.9166666666666666,0.8,0.4722222222222222,0.6388888888888888 +0.25,0.3555555555555555,0.25,0.8055555555555556,0.8888888888888888,0.30555555555555547,0.30555555555555547,0.4222222222222223,0.30555555555555547,0.2222222222222222,0.0,0.2222222222222222,0.41666666666666663,0.41666666666666663,0.30555555555555547,0.30555555555555547,0.3555555555555555,0.30555555555555547,0.5333333333333334,0.33333333333333337,0.30555555555555547,0.33333333333333337,0.6666666666666667,0.4722222222222222,0.75,0.6666666666666667,1.0,0.4444444444444444,0.4722222222222222,0.41666666666666663,0.4722222222222222,0.48888888888888893,0.30555555555555547,0.30555555555555547,0.3555555555555555,0.38888888888888895,0.33333333333333337,0.4722222222222222,0.4722222222222222,0.30555555555555547,0.9166666666666666,0.8,0.4722222222222222,0.9333333333333333,0.41666666666666663,0.3833333333333333,0.4722222222222222,0.8055555555555556,0.30555555555555547,0.41666666666666663,0.4444444444444444,0.48888888888888893,0.3555555555555555,0.5,0.4722222222222222,0.4444444444444444,0.5,0.4722222222222222,0.33333333333333337,0.30555555555555547,0.5,0.30555555555555547,0.6666666666666667,0.8055555555555556,0.6388888888888888,0.8055555555555556,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.8333333333333334,0.6166666666666667,0.7222222222222223,1.0,0.5,1.0,0.6833333333333333,0.5833333333333333,0.75,0.75,0.9166666666666666,0.6666666666666667,0.8055555555555556,0.6333333333333333,0.6388888888888888,0.8,0.8,0.8666666666666667,0.5833333333333333,1.0,1.0,0.5833333333333333,0.9333333333333333,0.30555555555555547,1.0,0.75,0.6666666666666667,0.6666666666666667,0.5833333333333333,0.9166666666666666,0.8,0.4722222222222222,0.6388888888888888 +0.11111111111111116,0.1333333333333333,0.11111111111111116,0.8055555555555556,0.8888888888888888,0.08333333333333337,0.08333333333333337,0.4222222222222223,0.08333333333333337,0.0,0.2222222222222222,0.0,0.41666666666666663,0.2777777777777778,0.30555555555555547,0.08333333333333337,0.1333333333333333,0.08333333333333337,0.3666666666666667,0.19444444444444453,0.08333333333333337,0.19444444444444453,0.6666666666666667,0.4722222222222222,0.5833333333333333,0.6666666666666667,0.9166666666666666,0.2222222222222222,0.4722222222222222,0.41666666666666663,0.4722222222222222,0.48888888888888893,0.08333333333333337,0.08333333333333337,0.1333333333333333,0.38888888888888895,0.19444444444444453,0.4722222222222222,0.4722222222222222,0.08333333333333337,0.9166666666666666,0.6888888888888889,0.4722222222222222,0.8222222222222223,0.25,0.24444444444444446,0.4722222222222222,0.8055555555555556,0.08333333333333337,0.2777777777777778,0.4444444444444444,0.48888888888888893,0.1333333333333333,0.33333333333333337,0.4722222222222222,0.4444444444444444,0.36111111111111116,0.4722222222222222,0.19444444444444453,0.08333333333333337,0.36111111111111116,0.08333333333333337,0.6666666666666667,0.8055555555555556,0.6388888888888888,0.8055555555555556,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.75,0.47777777777777775,0.5,1.0,0.36111111111111116,1.0,0.6833333333333333,0.5833333333333333,0.75,0.75,0.9166666666666666,0.6666666666666667,0.8055555555555556,0.6333333333333333,0.6388888888888888,0.6888888888888889,0.8,0.7555555555555555,0.5833333333333333,0.8888888888888888,1.0,0.5833333333333333,0.85,0.30555555555555547,1.0,0.75,0.6666666666666667,0.5277777777777779,0.5833333333333333,0.9166666666666666,0.8,0.4722222222222222,0.6388888888888888 +0.4722222222222222,0.3666666666666667,0.4722222222222222,0.7222222222222222,0.8666666666666667,0.33333333333333337,0.33333333333333337,0.33333333333333337,0.43333333333333335,0.41666666666666663,0.41666666666666663,0.41666666666666663,0.0,0.33333333333333337,0.33333333333333337,0.33333333333333337,0.3666666666666667,0.33333333333333337,0.6000000000000001,0.38888888888888895,0.33333333333333337,0.38888888888888895,0.5,0.16666666666666663,0.8333333333333334,0.5,0.9166666666666666,0.33333333333333337,0.16666666666666663,0.2222222222222222,0.38888888888888884,0.41666666666666663,0.43333333333333335,0.43333333333333335,0.44444444444444453,0.2777777777777777,0.48888888888888893,0.38888888888888884,0.16666666666666663,0.33333333333333337,0.8888888888888888,0.8666666666666667,0.16666666666666663,0.9166666666666666,0.5,0.4222222222222223,0.16666666666666663,0.5,0.33333333333333337,0.5555555555555556,0.33333333333333337,0.41666666666666663,0.3666666666666667,0.5833333333333333,0.16666666666666663,0.33333333333333337,0.5555555555555556,0.38888888888888884,0.38888888888888895,0.33333333333333337,0.2222222222222222,0.43333333333333335,0.6111111111111112,0.7222222222222223,0.7666666666666667,0.7222222222222222,0.6666666666666667,0.8888888888888888,0.8888888888888888,0.9523809523809523,0.6555555555555557,0.6666666666666667,1.0,0.6555555555555557,1.0,0.7222222222222223,0.7666666666666667,0.9333333333333333,0.7222222222222223,0.8888888888888888,0.6111111111111112,0.7222222222222222,0.7777777777777778,0.5555555555555556,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,1.0,0.6388888888888888,1.0,0.43333333333333335,1.0,0.9333333333333333,0.5,0.6111111111111112,0.7666666666666667,0.8888888888888888,0.9444444444444444,0.38888888888888884,0.7666666666666667 +0.16666666666666663,0.24444444444444446,0.16666666666666663,0.6944444444444444,0.8055555555555556,0.19444444444444453,0.19444444444444453,0.45000000000000007,0.3111111111111112,0.2777777777777778,0.41666666666666663,0.2777777777777778,0.33333333333333337,0.0,0.19444444444444453,0.19444444444444453,0.24444444444444446,0.19444444444444453,0.4222222222222223,0.08333333333333337,0.19444444444444453,0.08333333333333337,0.5555555555555556,0.2222222222222222,0.6388888888888888,0.5555555555555556,0.7666666666666667,0.33333333333333337,0.2222222222222222,0.4722222222222222,0.36111111111111116,0.5166666666666666,0.3111111111111112,0.3111111111111112,0.33333333333333337,0.2777777777777778,0.20000000000000007,0.36111111111111116,0.2222222222222222,0.19444444444444453,0.8055555555555556,0.7166666666666667,0.2222222222222222,0.85,0.30555555555555547,0.1333333333333333,0.2222222222222222,0.5555555555555556,0.19444444444444453,0.2666666666666666,0.33333333333333337,0.37777777777777777,0.24444444444444446,0.38888888888888895,0.2222222222222222,0.33333333333333337,0.25,0.36111111111111116,0.08333333333333337,0.19444444444444453,0.11111111111111105,0.3111111111111112,0.5833333333333333,0.7222222222222222,0.7833333333333333,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.75,0.8380952380952381,0.6111111111111112,0.6111111111111112,1.0,0.5333333333333334,1.0,0.6666666666666667,0.7,0.8666666666666667,0.6666666666666667,0.9166666666666666,0.5833333333333333,0.8333333333333334,0.7222222222222222,0.6666666666666667,0.8055555555555556,0.8,0.8611111111111112,0.7,0.9166666666666666,0.9166666666666666,0.6000000000000001,0.8666666666666667,0.45000000000000007,1.0,0.8666666666666667,0.7222222222222223,0.5833333333333333,0.7,0.85,0.8888888888888888,0.5,0.7833333333333333 +0.19444444444444453,0.28888888888888886,0.19444444444444453,0.6000000000000001,0.7222222222222223,0.2222222222222222,0.2222222222222222,0.3555555555555555,0.3555555555555555,0.30555555555555547,0.30555555555555547,0.30555555555555547,0.33333333333333337,0.19444444444444453,0.0,0.2222222222222222,0.28888888888888886,0.2222222222222222,0.4666666666666667,0.11111111111111116,0.2222222222222222,0.11111111111111116,0.5833333333333333,0.16666666666666663,0.7666666666666667,0.5833333333333333,0.8611111111111112,0.4722222222222222,0.16666666666666663,0.43333333333333335,0.2666666666666666,0.5,0.3555555555555555,0.3555555555555555,0.38888888888888895,0.08333333333333337,0.24444444444444446,0.2666666666666666,0.16666666666666663,0.2222222222222222,0.7666666666666667,0.7333333333333334,0.16666666666666663,0.8666666666666667,0.33333333333333337,0.1777777777777777,0.16666666666666663,0.5,0.2222222222222222,0.3111111111111112,0.25,0.2777777777777778,0.28888888888888886,0.41666666666666663,0.16666666666666663,0.25,0.2777777777777778,0.2666666666666666,0.11111111111111116,0.2222222222222222,0.2777777777777778,0.3555555555555555,0.5444444444444445,0.6944444444444444,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.9166666666666666,0.85,0.8571428571428571,0.6388888888888888,0.7222222222222223,1.0,0.55,1.0,0.5555555555555556,0.6333333333333333,0.8,0.6111111111111112,0.9333333333333333,0.5444444444444445,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.8333333333333334,0.7333333333333334,0.8888888888888888,0.6333333333333333,1.0,0.8888888888888888,0.47777777777777775,0.9444444444444444,0.3555555555555555,1.0,0.8,0.6666666666666667,0.6833333333333333,0.6333333333333333,0.85,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.24444444444444446,0.0,0.24444444444444446,0.8333333333333334,0.7777777777777778,0.06666666666666676,0.06666666666666676,0.38888888888888895,0.16666666666666663,0.1333333333333333,0.3555555555555555,0.1333333333333333,0.3666666666666667,0.24444444444444446,0.28888888888888886,0.06666666666666676,0.0,0.06666666666666676,0.33333333333333337,0.1777777777777777,0.06666666666666676,0.1777777777777777,0.6000000000000001,0.4222222222222223,0.6111111111111112,0.6000000000000001,0.8055555555555556,0.2666666666666666,0.4222222222222223,0.44444444444444453,0.5,0.5079365079365079,0.16666666666666663,0.16666666666666663,0.11111111111111105,0.3555555555555555,0.1777777777777777,0.5,0.4222222222222223,0.06666666666666676,0.9444444444444444,0.5555555555555556,0.4222222222222223,0.6888888888888889,0.2333333333333334,0.2222222222222222,0.4222222222222223,0.7555555555555555,0.06666666666666676,0.33333333333333337,0.48888888888888893,0.5079365079365079,0.0,0.29999999999999993,0.4222222222222223,0.48888888888888893,0.34444444444444444,0.5,0.1777777777777777,0.06666666666666676,0.3111111111111112,0.16666666666666663,0.6166666666666667,0.85,0.6222222222222222,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.7833333333333333,0.7261904761904763,0.5158730158730158,0.5,0.9523809523809523,0.34444444444444444,1.0,0.6388888888888888,0.5666666666666667,0.7333333333333334,0.75,0.8666666666666667,0.6166666666666667,0.7555555555555555,0.6111111111111112,0.5888888888888888,0.6666666666666667,0.6666666666666667,0.7222222222222223,0.5666666666666667,0.8888888888888888,0.9523809523809523,0.55,0.8055555555555556,0.28888888888888886,1.0,0.7333333333333334,0.6666666666666667,0.47777777777777775,0.5666666666666667,0.8666666666666667,0.7777777777777778,0.4222222222222223,0.6222222222222222 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.4222222222222223,0.33333333333333337,0.4222222222222223,1.0,0.9047619047619048,0.29999999999999993,0.29999999999999993,0.5555555555555556,0.38888888888888884,0.3666666666666667,0.5333333333333334,0.3666666666666667,0.6000000000000001,0.4222222222222223,0.4666666666666667,0.29999999999999993,0.33333333333333337,0.29999999999999993,0.0,0.3555555555555555,0.29999999999999993,0.3555555555555555,0.5833333333333333,0.6000000000000001,0.43333333333333335,0.5833333333333333,0.7555555555555555,0.5,0.6000000000000001,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.38888888888888884,0.38888888888888884,0.40476190476190477,0.5333333333333334,0.4444444444444444,0.6666666666666667,0.6000000000000001,0.29999999999999993,1.0,0.6666666666666667,0.6000000000000001,0.7,0.1333333333333333,0.28888888888888886,0.6000000000000001,0.9333333333333333,0.29999999999999993,0.4222222222222223,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.08333333333333337,0.6000000000000001,0.6666666666666667,0.5222222222222221,0.6666666666666667,0.3555555555555555,0.29999999999999993,0.48888888888888893,0.38888888888888884,0.8333333333333334,1.0,0.8888888888888888,1.0,1.0,0.8888888888888888,0.8888888888888888,0.8055555555555556,0.6746031746031746,0.6666666666666667,1.0,0.6111111111111112,1.0,0.7777777777777778,0.7222222222222222,0.8888888888888888,0.8333333333333334,1.0,0.8333333333333334,1.0,0.7380952380952381,0.8333333333333334,0.7380952380952381,0.8333333333333334,0.7222222222222222,0.7222222222222222,0.8333333333333334,1.0,0.7777777777777778,0.8333333333333334,0.5555555555555556,1.0,0.8888888888888888,0.8333333333333334,0.7222222222222223,0.7222222222222222,1.0,0.9047619047619048,0.6666666666666667,0.8888888888888888 +0.08333333333333337,0.1777777777777777,0.08333333333333337,0.7111111111111111,0.75,0.11111111111111116,0.11111111111111116,0.3833333333333333,0.24444444444444446,0.19444444444444453,0.33333333333333337,0.19444444444444453,0.38888888888888895,0.08333333333333337,0.11111111111111116,0.11111111111111116,0.1777777777777777,0.11111111111111116,0.3555555555555555,0.0,0.11111111111111116,0.0,0.5833333333333333,0.2777777777777778,0.6555555555555557,0.5833333333333333,0.7777777777777778,0.36111111111111116,0.2777777777777778,0.48888888888888893,0.37777777777777777,0.5277777777777779,0.24444444444444446,0.24444444444444446,0.2777777777777778,0.19444444444444453,0.1333333333333333,0.37777777777777777,0.2777777777777778,0.11111111111111116,0.8222222222222223,0.6499999999999999,0.2777777777777778,0.7833333333333333,0.2222222222222222,0.06666666666666676,0.2777777777777778,0.6111111111111112,0.11111111111111116,0.20000000000000007,0.36111111111111116,0.38888888888888895,0.1777777777777777,0.30555555555555547,0.2777777777777778,0.36111111111111116,0.16666666666666663,0.37777777777777777,0.0,0.11111111111111116,0.16666666666666663,0.24444444444444446,0.6000000000000001,0.75,0.7166666666666667,0.85,0.8888888888888888,0.8333333333333334,0.7666666666666667,0.7904761904761904,0.5555555555555556,0.6111111111111112,1.0,0.4666666666666667,1.0,0.6111111111111112,0.6333333333333333,0.8,0.6666666666666667,0.9333333333333333,0.6000000000000001,0.85,0.6666666666666667,0.6833333333333333,0.75,0.7333333333333334,0.8055555555555556,0.6333333333333333,0.9166666666666666,0.9166666666666666,0.5333333333333334,0.8777777777777778,0.3833333333333333,1.0,0.8,0.7222222222222223,0.6000000000000001,0.6333333333333333,0.8666666666666667,0.8333333333333334,0.5166666666666666,0.7166666666666667 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.08333333333333337,0.1777777777777777,0.08333333333333337,0.7111111111111111,0.75,0.11111111111111116,0.11111111111111116,0.3833333333333333,0.24444444444444446,0.19444444444444453,0.33333333333333337,0.19444444444444453,0.38888888888888895,0.08333333333333337,0.11111111111111116,0.11111111111111116,0.1777777777777777,0.11111111111111116,0.3555555555555555,0.0,0.11111111111111116,0.0,0.5833333333333333,0.2777777777777778,0.6555555555555557,0.5833333333333333,0.7777777777777778,0.36111111111111116,0.2777777777777778,0.48888888888888893,0.37777777777777777,0.5277777777777779,0.24444444444444446,0.24444444444444446,0.2777777777777778,0.19444444444444453,0.1333333333333333,0.37777777777777777,0.2777777777777778,0.11111111111111116,0.8222222222222223,0.6499999999999999,0.2777777777777778,0.7833333333333333,0.2222222222222222,0.06666666666666676,0.2777777777777778,0.6111111111111112,0.11111111111111116,0.20000000000000007,0.36111111111111116,0.38888888888888895,0.1777777777777777,0.30555555555555547,0.2777777777777778,0.36111111111111116,0.16666666666666663,0.37777777777777777,0.0,0.11111111111111116,0.16666666666666663,0.24444444444444446,0.6000000000000001,0.75,0.7166666666666667,0.85,0.8888888888888888,0.8333333333333334,0.7666666666666667,0.7904761904761904,0.5555555555555556,0.6111111111111112,1.0,0.4666666666666667,1.0,0.6111111111111112,0.6333333333333333,0.8,0.6666666666666667,0.9333333333333333,0.6000000000000001,0.85,0.6666666666666667,0.6833333333333333,0.75,0.7333333333333334,0.8055555555555556,0.6333333333333333,0.9166666666666666,0.9166666666666666,0.5333333333333334,0.8777777777777778,0.3833333333333333,1.0,0.8,0.7222222222222223,0.6000000000000001,0.6333333333333333,0.8666666666666667,0.8333333333333334,0.5166666666666666,0.7166666666666667 +0.6666666666666667,0.6000000000000001,0.6666666666666667,1.0,0.9333333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.5555555555555556,0.5833333333333333,0.5833333333333333,0.6000000000000001,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.0,0.5,0.8333333333333334,0.0,0.8888888888888888,0.6666666666666667,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5555555555555556,0.6666666666666667,0.6666666666666667,0.5,0.5833333333333333,1.0,0.9333333333333333,0.5,0.8888888888888888,0.5833333333333333,0.6000000000000001,0.5,0.8333333333333334,0.5833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6000000000000001,0.5555555555555556,0.5,0.6666666666666667,0.75,0.6666666666666667,0.5833333333333333,0.5833333333333333,0.5,0.6666666666666667,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,1.0,0.9333333333333333,1.0,0.75,1.0,1.0,0.8333333333333334,1.0,0.6666666666666667,1.0,1.0,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,1.0,0.6666666666666667,1.0 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.6388888888888888,0.6111111111111112,0.6388888888888888,1.0,1.0,0.6000000000000001,0.6000000000000001,0.8333333333333334,0.6000000000000001,0.5833333333333333,0.75,0.5833333333333333,0.8333333333333334,0.6388888888888888,0.7666666666666667,0.6000000000000001,0.6111111111111112,0.6000000000000001,0.43333333333333335,0.6555555555555557,0.6000000000000001,0.6555555555555557,0.8333333333333334,0.8333333333333334,0.0,0.8333333333333334,0.8888888888888888,0.6666666666666667,0.8333333333333334,0.7222222222222222,0.7222222222222222,0.8333333333333334,0.6000000000000001,0.5,0.6111111111111112,0.8333333333333334,0.6555555555555557,0.8333333333333334,0.8333333333333334,0.6000000000000001,1.0,0.7777777777777778,0.8333333333333334,0.8333333333333334,0.43333333333333335,0.6666666666666667,0.8333333333333334,1.0,0.6000000000000001,0.5,0.8333333333333334,0.8333333333333334,0.6111111111111112,0.41666666666666663,0.8333333333333334,0.8333333333333334,0.711111111111111,0.8333333333333334,0.6555555555555557,0.6000000000000001,0.7222222222222223,0.6000000000000001,0.6666666666666667,1.0,0.9333333333333333,1.0,1.0,0.8888888888888888,0.8888888888888888,0.8412698412698413,0.7777777777777778,0.7222222222222222,1.0,0.711111111111111,1.0,0.6666666666666667,0.6000000000000001,0.9333333333333333,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,0.8888888888888888,0.7777777777777778,0.9444444444444444,0.7666666666666667,0.6000000000000001,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8055555555555556,0.7666666666666667,1.0,0.9333333333333333,0.8888888888888888,0.7777777777777778,0.6000000000000001,1.0,0.9444444444444444,0.8333333333333334,0.7666666666666667 +0.6666666666666667,0.6000000000000001,0.6666666666666667,1.0,0.9333333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.5555555555555556,0.5833333333333333,0.5833333333333333,0.6000000000000001,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.0,0.5,0.8333333333333334,0.0,0.8888888888888888,0.6666666666666667,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5555555555555556,0.6666666666666667,0.6666666666666667,0.5,0.5833333333333333,1.0,0.9333333333333333,0.5,0.8888888888888888,0.5833333333333333,0.6000000000000001,0.5,0.8333333333333334,0.5833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6000000000000001,0.5555555555555556,0.5,0.6666666666666667,0.75,0.6666666666666667,0.5833333333333333,0.5833333333333333,0.5,0.6666666666666667,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,1.0,0.9333333333333333,1.0,0.75,1.0,1.0,0.8333333333333334,1.0,0.6666666666666667,1.0,1.0,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,1.0,0.6666666666666667,1.0 +0.8333333333333334,0.8055555555555556,0.8333333333333334,0.9166666666666666,0.6666666666666667,0.8611111111111112,0.8611111111111112,0.9444444444444444,0.9166666666666666,0.9166666666666666,1.0,0.9166666666666666,0.9166666666666666,0.7666666666666667,0.8611111111111112,0.8611111111111112,0.8055555555555556,0.8611111111111112,0.7555555555555555,0.7777777777777778,0.8611111111111112,0.7777777777777778,0.8888888888888888,0.8333333333333334,0.8888888888888888,0.8888888888888888,0.0,0.9166666666666666,0.8333333333333334,1.0,0.9166666666666666,1.0,0.9166666666666666,0.9166666666666666,0.8690476190476191,0.85,0.7777777777777778,0.9166666666666666,0.8333333333333334,0.8611111111111112,0.8888888888888888,0.33333333333333337,0.8333333333333334,0.75,0.8333333333333334,0.7222222222222222,0.8333333333333334,0.8333333333333334,0.8611111111111112,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.8055555555555556,0.8222222222222223,0.8333333333333334,0.9166666666666666,0.7777777777777778,0.9166666666666666,0.7777777777777778,0.8611111111111112,0.75,0.9166666666666666,0.85,0.9333333333333333,0.9444444444444444,0.9166666666666666,1.0,0.9333333333333333,0.75,0.8916666666666666,0.9333333333333333,0.9166666666666666,0.9333333333333333,0.8777777777777778,1.0,0.8666666666666667,0.9444444444444444,0.9444444444444444,0.9333333333333333,0.9166666666666666,0.85,0.9166666666666666,0.9523809523809523,0.9166666666666666,0.8690476190476191,0.8888888888888888,0.8611111111111112,0.9444444444444444,0.5833333333333333,0.85,0.8666666666666667,0.7666666666666667,0.9444444444444444,1.0,0.8611111111111112,1.0,0.85,0.9444444444444444,0.41666666666666663,0.9523809523809523,0.9166666666666666,0.9444444444444444 +0.33333333333333337,0.2666666666666666,0.33333333333333337,0.7222222222222223,0.9333333333333333,0.25,0.25,0.4722222222222222,0.25,0.2222222222222222,0.4444444444444444,0.2222222222222222,0.33333333333333337,0.33333333333333337,0.4722222222222222,0.25,0.2666666666666666,0.25,0.5,0.36111111111111116,0.25,0.36111111111111116,0.6666666666666667,0.38888888888888895,0.6666666666666667,0.6666666666666667,0.9166666666666666,0.0,0.38888888888888895,0.33333333333333337,0.38888888888888895,0.4444444444444444,0.25,0.25,0.2666666666666666,0.4444444444444444,0.36111111111111116,0.38888888888888895,0.38888888888888895,0.25,0.8333333333333334,0.8222222222222223,0.38888888888888895,0.8888888888888888,0.41666666666666663,0.37777777777777777,0.38888888888888895,0.7222222222222223,0.25,0.44444444444444453,0.2222222222222222,0.4444444444444444,0.2666666666666666,0.5,0.38888888888888895,0.2222222222222222,0.5277777777777779,0.38888888888888895,0.36111111111111116,0.25,0.2777777777777778,0.25,0.5833333333333333,0.5833333333333333,0.8055555555555556,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.75,0.8611111111111112,0.5277777777777779,0.5,1.0,0.5277777777777779,1.0,0.75,0.75,0.9166666666666666,0.75,0.8333333333333334,0.5833333333333333,0.7222222222222223,0.7666666666666667,0.5555555555555556,0.8222222222222223,0.9333333333333333,0.8888888888888888,0.75,0.8888888888888888,1.0,0.6388888888888888,0.9166666666666666,0.4722222222222222,1.0,0.9166666666666666,0.6666666666666667,0.44444444444444453,0.75,0.8333333333333334,0.9333333333333333,0.38888888888888895,0.8055555555555556 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.4722222222222222,0.44444444444444453,0.4722222222222222,0.7222222222222222,0.9444444444444444,0.43333333333333335,0.43333333333333335,0.43333333333333335,0.43333333333333335,0.41666666666666663,0.41666666666666663,0.41666666666666663,0.2222222222222222,0.4722222222222222,0.43333333333333335,0.43333333333333335,0.44444444444444453,0.43333333333333335,0.6666666666666667,0.48888888888888893,0.43333333333333335,0.48888888888888893,0.6666666666666667,0.38888888888888884,0.7222222222222222,0.6666666666666667,1.0,0.33333333333333337,0.38888888888888884,0.0,0.16666666666666663,0.41666666666666663,0.43333333333333335,0.33333333333333337,0.44444444444444453,0.41666666666666663,0.48888888888888893,0.38888888888888884,0.38888888888888884,0.43333333333333335,0.8888888888888888,0.9444444444444444,0.38888888888888884,1.0,0.6000000000000001,0.5,0.38888888888888884,0.7222222222222222,0.43333333333333335,0.4722222222222222,0.33333333333333337,0.41666666666666663,0.44444444444444453,0.6666666666666667,0.38888888888888884,0.33333333333333337,0.6555555555555557,0.38888888888888884,0.48888888888888893,0.43333333333333335,0.4444444444444444,0.43333333333333335,0.6111111111111112,0.7222222222222223,0.7666666666666667,0.7222222222222222,0.6666666666666667,0.8888888888888888,0.8888888888888888,0.9523809523809523,0.6555555555555557,0.6666666666666667,1.0,0.6555555555555557,1.0,0.7222222222222223,0.7666666666666667,0.9333333333333333,0.7222222222222223,0.8888888888888888,0.6111111111111112,0.7222222222222222,0.7777777777777778,0.5555555555555556,0.9444444444444444,0.9444444444444444,1.0,0.7666666666666667,1.0,1.0,0.6388888888888888,1.0,0.43333333333333335,1.0,0.9333333333333333,0.5,0.6111111111111112,0.7666666666666667,0.8888888888888888,0.9444444444444444,0.38888888888888884,0.7666666666666667 +0.36111111111111116,0.5,0.36111111111111116,0.5555555555555556,0.8333333333333334,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.38888888888888884,0.36111111111111116,0.2666666666666666,0.48888888888888893,0.5,0.48888888888888893,0.6666666666666667,0.37777777777777777,0.48888888888888893,0.37777777777777777,0.6666666666666667,0.2222222222222222,0.7222222222222222,0.6666666666666667,0.9166666666666666,0.38888888888888895,0.2222222222222222,0.16666666666666663,0.0,0.4722222222222222,0.48888888888888893,0.38888888888888895,0.5,0.25,0.37777777777777777,0.2222222222222222,0.2222222222222222,0.48888888888888893,0.7222222222222222,0.9444444444444444,0.2222222222222222,1.0,0.6000000000000001,0.38888888888888895,0.2222222222222222,0.5555555555555556,0.48888888888888893,0.36111111111111116,0.16666666666666663,0.25,0.5,0.6666666666666667,0.2222222222222222,0.16666666666666663,0.5444444444444445,0.2222222222222222,0.37777777777777777,0.48888888888888893,0.33333333333333337,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.9444444444444444,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.5166666666666666,0.5079365079365079,0.5166666666666666,0.6666666666666667,0.9523809523809523,0.5,0.5,0.5,0.4222222222222223,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.41666666666666663,0.5166666666666666,0.5,0.5,0.5079365079365079,0.5,0.6666666666666667,0.5277777777777779,0.5,0.5277777777777779,0.6666666666666667,0.4722222222222222,0.8333333333333334,0.6666666666666667,1.0,0.4444444444444444,0.4722222222222222,0.41666666666666663,0.4722222222222222,0.0,0.4222222222222223,0.5,0.4444444444444444,0.48888888888888893,0.5277777777777779,0.33333333333333337,0.4722222222222222,0.5,0.9166666666666666,0.9523809523809523,0.4722222222222222,1.0,0.6111111111111112,0.5357142857142858,0.4722222222222222,0.8055555555555556,0.5,0.5833333333333333,0.4444444444444444,0.38888888888888895,0.5079365079365079,0.6666666666666667,0.4722222222222222,0.4444444444444444,0.6944444444444444,0.33333333333333337,0.5277777777777779,0.5,0.5,0.4222222222222223,0.6666666666666667,0.8055555555555556,0.8333333333333334,0.8055555555555556,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.9583333333333334,0.6944444444444444,0.7222222222222223,1.0,0.6944444444444444,1.0,0.75,0.7777777777777778,0.9444444444444444,0.75,0.9166666666666666,0.6666666666666667,0.8055555555555556,0.7857142857142857,0.6388888888888888,0.9523809523809523,0.9523809523809523,1.0,0.7777777777777778,1.0,1.0,0.6833333333333333,1.0,0.5,1.0,0.9444444444444444,0.6666666666666667,0.6666666666666667,0.7777777777777778,0.9166666666666666,0.9523809523809523,0.4722222222222222,0.8333333333333334 +0.19444444444444453,0.16666666666666663,0.19444444444444453,0.7222222222222223,0.9047619047619048,0.1333333333333333,0.1333333333333333,0.4444444444444444,0.0,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.43333333333333335,0.3111111111111112,0.3555555555555555,0.1333333333333333,0.16666666666666663,0.1333333333333333,0.38888888888888884,0.24444444444444446,0.1333333333333333,0.24444444444444446,0.6666666666666667,0.48888888888888893,0.6000000000000001,0.6666666666666667,0.9166666666666666,0.25,0.48888888888888893,0.43333333333333335,0.48888888888888893,0.4222222222222223,0.0,0.1333333333333333,0.06666666666666676,0.4222222222222223,0.24444444444444446,0.38888888888888895,0.48888888888888893,0.1333333333333333,0.9333333333333333,0.7222222222222223,0.48888888888888893,0.8333333333333334,0.29999999999999993,0.2777777777777778,0.48888888888888893,0.8222222222222223,0.1333333333333333,0.3111111111111112,0.4722222222222222,0.4222222222222223,0.16666666666666663,0.3666666666666667,0.48888888888888893,0.4722222222222222,0.4111111111111111,0.38888888888888895,0.24444444444444446,0.1333333333333333,0.37777777777777777,0.0,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.19444444444444453,0.16666666666666663,0.19444444444444453,0.8222222222222223,0.9047619047619048,0.1333333333333333,0.1333333333333333,0.4444444444444444,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.43333333333333335,0.3111111111111112,0.3555555555555555,0.1333333333333333,0.16666666666666663,0.1333333333333333,0.38888888888888884,0.24444444444444446,0.1333333333333333,0.24444444444444446,0.6666666666666667,0.48888888888888893,0.5,0.6666666666666667,0.9166666666666666,0.25,0.48888888888888893,0.33333333333333337,0.38888888888888895,0.5,0.1333333333333333,0.0,0.16666666666666663,0.4222222222222223,0.24444444444444446,0.48888888888888893,0.48888888888888893,0.1333333333333333,0.9333333333333333,0.7222222222222223,0.48888888888888893,0.8333333333333334,0.29999999999999993,0.2777777777777778,0.48888888888888893,0.8222222222222223,0.1333333333333333,0.19444444444444453,0.4722222222222222,0.5,0.16666666666666663,0.3666666666666667,0.48888888888888893,0.4722222222222222,0.4111111111111111,0.48888888888888893,0.24444444444444446,0.1333333333333333,0.37777777777777777,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.24444444444444446,0.11111111111111105,0.24444444444444446,0.7555555555555555,0.8571428571428571,0.16666666666666663,0.16666666666666663,0.46031746031746035,0.06666666666666676,0.1333333333333333,0.3555555555555555,0.1333333333333333,0.44444444444444453,0.33333333333333337,0.38888888888888895,0.16666666666666663,0.11111111111111105,0.16666666666666663,0.40476190476190477,0.2777777777777778,0.16666666666666663,0.2777777777777778,0.6666666666666667,0.5,0.6111111111111112,0.6666666666666667,0.8690476190476191,0.2666666666666666,0.5,0.44444444444444453,0.5,0.4444444444444444,0.06666666666666676,0.16666666666666663,0.0,0.4444444444444444,0.1777777777777777,0.4222222222222223,0.5,0.16666666666666663,0.9444444444444444,0.6666666666666667,0.5,0.7777777777777778,0.33333333333333337,0.3015873015873015,0.5,0.8333333333333334,0.16666666666666663,0.33333333333333337,0.48888888888888893,0.4444444444444444,0.11111111111111105,0.38888888888888884,0.5,0.48888888888888893,0.44444444444444453,0.4222222222222223,0.2777777777777778,0.16666666666666663,0.38888888888888895,0.06666666666666676,0.6166666666666667,0.85,0.6222222222222222,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.7833333333333333,0.7261904761904763,0.5158730158730158,0.5,0.9523809523809523,0.34444444444444444,1.0,0.6388888888888888,0.5666666666666667,0.7333333333333334,0.75,0.8666666666666667,0.6166666666666667,0.7555555555555555,0.6111111111111112,0.5888888888888888,0.6666666666666667,0.7777777777777778,0.7222222222222223,0.5666666666666667,0.8888888888888888,0.9523809523809523,0.55,0.8055555555555556,0.28888888888888886,1.0,0.7333333333333334,0.6666666666666667,0.47777777777777775,0.5666666666666667,0.8666666666666667,0.7777777777777778,0.4222222222222223,0.6222222222222222 +0.2777777777777778,0.3555555555555555,0.2777777777777778,0.5833333333333333,0.6888888888888889,0.30555555555555547,0.30555555555555547,0.30555555555555547,0.4222222222222223,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.2777777777777777,0.2777777777777778,0.08333333333333337,0.30555555555555547,0.3555555555555555,0.30555555555555547,0.5333333333333334,0.19444444444444453,0.30555555555555547,0.19444444444444453,0.5555555555555556,0.11111111111111105,0.8333333333333334,0.5555555555555556,0.85,0.4444444444444444,0.11111111111111105,0.41666666666666663,0.25,0.48888888888888893,0.4222222222222223,0.4222222222222223,0.4444444444444444,0.0,0.3111111111111112,0.25,0.11111111111111105,0.30555555555555547,0.75,0.8,0.11111111111111105,0.8333333333333334,0.41666666666666663,0.24444444444444446,0.11111111111111105,0.4444444444444444,0.30555555555555547,0.37777777777777777,0.2222222222222222,0.2666666666666666,0.3555555555555555,0.5,0.11111111111111105,0.2222222222222222,0.36111111111111116,0.25,0.19444444444444453,0.30555555555555547,0.2222222222222222,0.4222222222222223,0.5277777777777779,0.6666666666666667,0.7555555555555555,0.8055555555555556,0.8333333333333334,0.9166666666666666,0.8333333333333334,0.9047619047619048,0.6166666666666667,0.7222222222222223,1.0,0.6166666666666667,1.0,0.5444444444444445,0.7,0.8666666666666667,0.6111111111111112,0.9166666666666666,0.5277777777777779,0.8055555555555556,0.7222222222222222,0.6388888888888888,0.8888888888888888,0.8,0.9444444444444444,0.7,1.0,0.8888888888888888,0.44444444444444453,1.0,0.4222222222222223,1.0,0.8666666666666667,0.6666666666666667,0.6666666666666667,0.7,0.8333333333333334,0.8888888888888888,0.4722222222222222,0.7555555555555555 +0.08333333333333337,0.1777777777777777,0.08333333333333337,0.7111111111111111,0.75,0.24444444444444446,0.24444444444444446,0.4722222222222222,0.24444444444444446,0.19444444444444453,0.33333333333333337,0.19444444444444453,0.48888888888888893,0.20000000000000007,0.24444444444444446,0.24444444444444446,0.1777777777777777,0.24444444444444446,0.4444444444444444,0.1333333333333333,0.24444444444444446,0.1333333333333333,0.6666666666666667,0.37777777777777777,0.6555555555555557,0.6666666666666667,0.7777777777777778,0.36111111111111116,0.37777777777777777,0.48888888888888893,0.37777777777777777,0.5277777777777779,0.24444444444444446,0.24444444444444446,0.1777777777777777,0.3111111111111112,0.0,0.37777777777777777,0.37777777777777777,0.24444444444444446,0.8222222222222223,0.6499999999999999,0.37777777777777777,0.7833333333333333,0.3555555555555555,0.16666666666666663,0.37777777777777777,0.7111111111111111,0.24444444444444446,0.20000000000000007,0.36111111111111116,0.38888888888888895,0.1777777777777777,0.4222222222222223,0.37777777777777777,0.36111111111111116,0.29999999999999993,0.37777777777777777,0.1333333333333333,0.24444444444444446,0.2666666666666666,0.24444444444444446,0.5,0.75,0.5833333333333333,0.75,0.8888888888888888,0.8333333333333334,0.6666666666666667,0.711111111111111,0.5555555555555556,0.6111111111111112,0.9444444444444444,0.33333333333333337,1.0,0.5333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.5,0.75,0.5666666666666667,0.5833333333333333,0.6499999999999999,0.7333333333333334,0.7166666666666667,0.5,0.9166666666666666,0.8611111111111112,0.41666666666666663,0.7999999999999999,0.25,1.0,0.6666666666666667,0.7222222222222223,0.5,0.5,0.7666666666666667,0.7333333333333334,0.41666666666666663,0.5833333333333333 +0.36111111111111116,0.5,0.36111111111111116,0.33333333333333337,0.8333333333333334,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.38888888888888895,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.38888888888888884,0.36111111111111116,0.2666666666666666,0.48888888888888893,0.5,0.48888888888888893,0.6666666666666667,0.37777777777777777,0.48888888888888893,0.37777777777777777,0.6666666666666667,0.2222222222222222,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.38888888888888895,0.2222222222222222,0.38888888888888884,0.2222222222222222,0.33333333333333337,0.38888888888888895,0.48888888888888893,0.4222222222222223,0.25,0.37777777777777777,0.0,0.2222222222222222,0.48888888888888893,0.7222222222222222,0.9444444444444444,0.2222222222222222,1.0,0.6000000000000001,0.38888888888888895,0.2222222222222222,0.5555555555555556,0.48888888888888893,0.44444444444444453,0.16666666666666663,0.11111111111111105,0.5,0.6666666666666667,0.2222222222222222,0.16666666666666663,0.5444444444444445,0.0,0.37777777777777777,0.48888888888888893,0.33333333333333337,0.38888888888888895,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.9444444444444444,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.8055555555555556,0.9444444444444444,0.8055555555555556,0.5833333333333333,0.6666666666666667,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9166666666666666,0.9166666666666666,0.9166666666666666,0.8888888888888888,0.8055555555555556,0.7666666666666667,0.9333333333333333,0.9444444444444444,0.9333333333333333,1.0,0.8222222222222223,0.9333333333333333,0.8222222222222223,1.0,0.7222222222222222,1.0,1.0,0.8888888888888888,0.8333333333333334,0.7222222222222222,0.8888888888888888,0.7222222222222222,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.9444444444444444,0.75,0.8222222222222223,0.7222222222222222,0.7222222222222222,0.9333333333333333,0.0,0.9444444444444444,0.7222222222222222,1.0,0.9333333333333333,0.8333333333333334,0.7222222222222222,0.5833333333333333,0.9333333333333333,0.8888888888888888,0.6666666666666667,0.75,0.9444444444444444,1.0,0.7222222222222222,0.6666666666666667,0.8222222222222223,0.7222222222222222,0.8222222222222223,0.9333333333333333,0.7777777777777778,0.9333333333333333,0.7777777777777778,0.5833333333333334,0.9333333333333333,0.8888888888888888,1.0,1.0,0.7777777777777778,0.9523809523809523,0.9333333333333333,1.0,1.0,0.9333333333333333,1.0,0.8888888888888888,0.9333333333333333,0.9333333333333333,0.8888888888888888,0.8888888888888888,0.7777777777777778,0.8888888888888888,0.9444444444444444,0.8888888888888888,0.9444444444444444,0.9444444444444444,1.0,0.9333333333333333,1.0,0.8333333333333334,0.8055555555555556,1.0,0.9333333333333333,1.0,0.9333333333333333,1.0,0.8888888888888888,0.9333333333333333,0.7777777777777778,0.9444444444444444,0.8888888888888888,0.9333333333333333 +0.7166666666666667,0.5555555555555556,0.7166666666666667,0.9444444444444444,0.6666666666666667,0.6222222222222222,0.6222222222222222,0.8333333333333334,0.7222222222222223,0.6888888888888889,0.8,0.6888888888888889,0.8666666666666667,0.7166666666666667,0.7333333333333334,0.6222222222222222,0.5555555555555556,0.6222222222222222,0.6666666666666667,0.6499999999999999,0.6222222222222222,0.6499999999999999,0.9333333333333333,0.8666666666666667,0.7777777777777778,0.9333333333333333,0.33333333333333337,0.8222222222222223,0.8666666666666667,0.9444444444444444,0.9444444444444444,0.9523809523809523,0.7222222222222223,0.7222222222222223,0.6666666666666667,0.8,0.6499999999999999,0.9444444444444444,0.8666666666666667,0.6222222222222222,0.9444444444444444,0.0,0.8666666666666667,0.6888888888888889,0.5666666666666667,0.6944444444444444,0.8666666666666667,0.8666666666666667,0.6222222222222222,0.8055555555555556,0.9333333333333333,0.9523809523809523,0.5555555555555556,0.6333333333333333,0.8666666666666667,0.9333333333333333,0.6499999999999999,0.9444444444444444,0.6499999999999999,0.6222222222222222,0.7833333333333333,0.7222222222222223,0.8666666666666667,0.9333333333333333,0.7333333333333334,0.8666666666666667,1.0,0.9166666666666666,0.7833333333333333,0.7261904761904763,0.8214285714285714,0.8888888888888888,0.9523809523809523,0.6499999999999999,1.0,0.8888888888888888,0.7333333333333334,0.7333333333333334,1.0,0.8666666666666667,0.8666666666666667,0.8666666666666667,0.7777777777777778,0.8666666666666667,0.6666666666666667,0.6666666666666667,0.7222222222222223,0.7333333333333334,0.5555555555555556,0.9523809523809523,0.8,0.6666666666666667,0.7333333333333334,1.0,0.6222222222222222,1.0,0.7833333333333333,0.7333333333333334,0.45000000000000007,0.7777777777777778,0.8666666666666667,0.7333333333333334 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.85,0.6888888888888889,0.85,1.0,0.8,0.7555555555555555,0.7555555555555555,0.8666666666666667,0.8333333333333334,0.8222222222222223,0.9333333333333333,0.8222222222222223,0.9166666666666666,0.85,0.8666666666666667,0.7555555555555555,0.6888888888888889,0.7555555555555555,0.7,0.7833333333333333,0.7555555555555555,0.7833333333333333,0.8888888888888888,0.9166666666666666,0.8333333333333334,0.8888888888888888,0.75,0.8888888888888888,0.9166666666666666,1.0,1.0,1.0,0.8333333333333334,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.7833333333333333,1.0,0.9166666666666666,0.7555555555555555,1.0,0.6888888888888889,0.9166666666666666,0.0,0.7,0.8055555555555556,0.9166666666666666,0.9166666666666666,0.7555555555555555,0.85,1.0,1.0,0.6888888888888889,0.6666666666666667,0.9166666666666666,1.0,0.7833333333333333,1.0,0.7833333333333333,0.7555555555555555,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.9166666666666666,0.7555555555555555,0.8055555555555556,1.0,0.7777777777777778,0.6944444444444444,0.6547619047619049,0.7222222222222223,0.8888888888888888,0.8222222222222223,0.6444444444444444,1.0,0.75,0.7,0.5333333333333334,0.9166666666666666,0.75,0.8333333333333334,0.8055555555555556,0.7222222222222222,0.8055555555555556,0.5555555555555556,0.4666666666666667,0.5333333333333334,0.8666666666666667,0.6666666666666667,0.8222222222222223,0.8333333333333334,0.7111111111111111,0.7555555555555555,1.0,0.7555555555555555,1.0,0.6944444444444444,0.7,0.8333333333333334,0.5555555555555556,0.8055555555555556,0.7555555555555555 +0.30555555555555547,0.2333333333333334,0.30555555555555547,0.9333333333333333,0.8333333333333334,0.16666666666666663,0.16666666666666663,0.4666666666666667,0.29999999999999993,0.25,0.41666666666666663,0.25,0.5,0.30555555555555547,0.33333333333333337,0.16666666666666663,0.2333333333333334,0.16666666666666663,0.1333333333333333,0.2222222222222222,0.16666666666666663,0.2222222222222222,0.5833333333333333,0.5,0.43333333333333335,0.5833333333333333,0.8333333333333334,0.41666666666666663,0.5,0.6000000000000001,0.6000000000000001,0.6111111111111112,0.29999999999999993,0.29999999999999993,0.33333333333333337,0.41666666666666663,0.3555555555555555,0.6000000000000001,0.5,0.16666666666666663,0.9333333333333333,0.5666666666666667,0.5,0.7,0.0,0.28888888888888886,0.5,0.8333333333333334,0.16666666666666663,0.4222222222222223,0.5833333333333333,0.6111111111111112,0.2333333333333334,0.08333333333333337,0.5,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.29999999999999993,0.7666666666666667,0.9166666666666666,0.8,0.9333333333333333,1.0,0.8888888888888888,0.8222222222222223,0.746031746031746,0.6111111111111112,0.6666666666666667,1.0,0.5222222222222221,1.0,0.7777777777777778,0.6333333333333333,0.8,0.8333333333333334,0.9333333333333333,0.7666666666666667,0.9333333333333333,0.6666666666666667,0.7666666666666667,0.6666666666666667,0.7333333333333334,0.7222222222222222,0.6333333333333333,0.8333333333333334,1.0,0.7,0.8333333333333334,0.4666666666666667,1.0,0.8,0.8333333333333334,0.6555555555555557,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.6000000000000001,0.8 +0.1333333333333333,0.2222222222222222,0.1333333333333333,0.7222222222222223,0.7738095238095238,0.1777777777777777,0.1777777777777777,0.41666666666666663,0.2777777777777778,0.24444444444444446,0.3833333333333333,0.24444444444444446,0.4222222222222223,0.1333333333333333,0.1777777777777777,0.1777777777777777,0.2222222222222222,0.1777777777777777,0.28888888888888886,0.06666666666666676,0.1777777777777777,0.06666666666666676,0.6000000000000001,0.3111111111111112,0.6666666666666667,0.6000000000000001,0.7222222222222222,0.37777777777777777,0.3111111111111112,0.5,0.38888888888888895,0.5357142857142858,0.2777777777777778,0.2777777777777778,0.3015873015873015,0.24444444444444446,0.16666666666666663,0.38888888888888895,0.3111111111111112,0.1777777777777777,0.8333333333333334,0.6944444444444444,0.3111111111111112,0.8055555555555556,0.28888888888888886,0.0,0.3111111111111112,0.6444444444444444,0.1777777777777777,0.2222222222222222,0.37777777777777777,0.39682539682539686,0.2222222222222222,0.3555555555555555,0.3111111111111112,0.37777777777777777,0.2333333333333334,0.38888888888888895,0.06666666666666676,0.1777777777777777,0.20000000000000007,0.2777777777777778,0.6111111111111112,0.7666666666666667,0.75,0.8611111111111112,0.8888888888888888,0.8333333333333334,0.7777777777777778,0.8083333333333333,0.5714285714285714,0.6111111111111112,1.0,0.5,1.0,0.6190476190476191,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.9444444444444444,0.6111111111111112,0.8611111111111112,0.6904761904761905,0.6944444444444444,0.7738095238095238,0.7777777777777778,0.8214285714285714,0.6666666666666667,0.9166666666666666,0.9166666666666666,0.5555555555555556,0.8857142857142857,0.41666666666666663,1.0,0.8333333333333334,0.7222222222222223,0.6111111111111112,0.6666666666666667,0.8777777777777778,0.8571428571428571,0.5277777777777779,0.75 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.6944444444444444,0.7555555555555555,0.6944444444444444,0.33333333333333326,0.6333333333333333,0.7222222222222223,0.7222222222222223,0.7222222222222223,0.8222222222222223,0.8055555555555556,0.8055555555555556,0.8055555555555556,0.5,0.5555555555555556,0.5,0.7222222222222223,0.7555555555555555,0.7222222222222223,0.9333333333333333,0.6111111111111112,0.7222222222222223,0.6111111111111112,0.8333333333333334,0.33333333333333337,1.0,0.8333333333333334,0.8333333333333334,0.7222222222222223,0.33333333333333337,0.7222222222222222,0.5555555555555556,0.8055555555555556,0.8222222222222223,0.8222222222222223,0.8333333333333334,0.4444444444444444,0.7111111111111111,0.5555555555555556,0.33333333333333337,0.7222222222222223,0.5833333333333333,0.8666666666666667,0.33333333333333337,0.9166666666666666,0.8333333333333334,0.6444444444444444,0.33333333333333337,0.0,0.7222222222222223,0.7777777777777778,0.5,0.5833333333333333,0.7555555555555555,0.9166666666666666,0.33333333333333337,0.5,0.6111111111111112,0.5555555555555556,0.6111111111111112,0.7222222222222223,0.44444444444444453,0.8222222222222223,0.6666666666666667,0.41666666666666674,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.85,0.8888888888888888,1.0,0.85,1.0,0.7777777777777778,0.9333333333333333,0.9333333333333333,0.7777777777777778,0.8888888888888888,0.6666666666666667,0.7777777777777778,0.9444444444444444,0.7777777777777778,0.9444444444444444,0.8666666666666667,1.0,0.9333333333333333,1.0,0.8888888888888888,0.6944444444444444,1.0,0.8222222222222223,1.0,0.9333333333333333,0.8333333333333334,0.8055555555555556,0.9333333333333333,0.8055555555555556,0.9444444444444444,0.7777777777777778,0.8222222222222223 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.16666666666666663,0.33333333333333337,0.16666666666666663,0.7777777777777778,0.8690476190476191,0.3111111111111112,0.3111111111111112,0.5277777777777779,0.3111111111111112,0.2777777777777778,0.41666666666666663,0.2777777777777778,0.5555555555555556,0.2666666666666666,0.3111111111111112,0.3111111111111112,0.33333333333333337,0.3111111111111112,0.4222222222222223,0.20000000000000007,0.3111111111111112,0.20000000000000007,0.6666666666666667,0.44444444444444453,0.5,0.6666666666666667,0.8333333333333334,0.44444444444444453,0.44444444444444453,0.4722222222222222,0.36111111111111116,0.5833333333333333,0.3111111111111112,0.19444444444444453,0.33333333333333337,0.37777777777777777,0.20000000000000007,0.44444444444444453,0.44444444444444453,0.3111111111111112,0.8888888888888888,0.8055555555555556,0.44444444444444453,0.85,0.4222222222222223,0.2222222222222222,0.44444444444444453,0.7777777777777778,0.3111111111111112,0.0,0.44444444444444453,0.44444444444444453,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.44444444444444453,0.3666666666666667,0.44444444444444453,0.20000000000000007,0.3111111111111112,0.33333333333333337,0.3111111111111112,0.6666666666666667,0.8333333333333334,0.7833333333333333,0.9166666666666666,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.8380952380952381,0.6111111111111112,0.6111111111111112,1.0,0.5333333333333334,1.0,0.6000000000000001,0.7,0.8666666666666667,0.6666666666666667,1.0,0.6666666666666667,0.9166666666666666,0.7222222222222222,0.75,0.8055555555555556,0.8888888888888888,0.7833333333333333,0.7,0.9166666666666666,0.9166666666666666,0.6000000000000001,0.8666666666666667,0.45000000000000007,1.0,0.8666666666666667,0.7222222222222223,0.6666666666666667,0.7,0.9333333333333333,0.8888888888888888,0.5833333333333333,0.7833333333333333 +0.33333333333333337,0.48888888888888893,0.33333333333333337,0.5,0.8222222222222223,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.4444444444444444,0.4444444444444444,0.4444444444444444,0.33333333333333337,0.33333333333333337,0.25,0.4722222222222222,0.48888888888888893,0.4722222222222222,0.6666666666666667,0.36111111111111116,0.4722222222222222,0.36111111111111116,0.6666666666666667,0.16666666666666663,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.2222222222222222,0.16666666666666663,0.33333333333333337,0.16666666666666663,0.4444444444444444,0.4722222222222222,0.4722222222222222,0.48888888888888893,0.2222222222222222,0.36111111111111116,0.16666666666666663,0.16666666666666663,0.4722222222222222,0.6666666666666667,0.9333333333333333,0.16666666666666663,1.0,0.5833333333333333,0.37777777777777777,0.16666666666666663,0.5,0.4722222222222222,0.44444444444444453,0.0,0.2222222222222222,0.48888888888888893,0.6666666666666667,0.16666666666666663,0.0,0.5277777777777779,0.16666666666666663,0.36111111111111116,0.4722222222222222,0.2777777777777778,0.4722222222222222,0.44444444444444453,0.44444444444444453,0.8055555555555556,0.7222222222222223,0.8333333333333334,0.9166666666666666,0.75,0.9444444444444444,0.6666666666666667,0.7222222222222223,1.0,0.6666666666666667,1.0,0.6111111111111112,0.75,0.9166666666666666,0.6111111111111112,0.8333333333333334,0.44444444444444453,0.7222222222222223,0.7666666666666667,0.5555555555555556,0.9333333333333333,0.9333333333333333,1.0,0.75,1.0,0.8888888888888888,0.5,1.0,0.4722222222222222,1.0,0.9166666666666666,0.6666666666666667,0.5833333333333333,0.75,0.75,0.9333333333333333,0.38888888888888895,0.8055555555555556 +0.37777777777777777,0.5079365079365079,0.37777777777777777,0.4444444444444444,0.7777777777777778,0.5,0.5,0.5,0.4222222222222223,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.41666666666666663,0.37777777777777777,0.2777777777777778,0.5,0.5079365079365079,0.5,0.6666666666666667,0.38888888888888895,0.5,0.38888888888888895,0.6666666666666667,0.25,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.4444444444444444,0.25,0.41666666666666663,0.25,0.38888888888888895,0.4222222222222223,0.5,0.4444444444444444,0.2666666666666666,0.38888888888888895,0.11111111111111105,0.25,0.5,0.75,0.9523809523809523,0.25,1.0,0.6111111111111112,0.39682539682539686,0.25,0.5833333333333333,0.5,0.44444444444444453,0.2222222222222222,0.0,0.5079365079365079,0.6666666666666667,0.25,0.2222222222222222,0.5555555555555556,0.11111111111111105,0.38888888888888895,0.5,0.36111111111111116,0.4222222222222223,0.5277777777777779,0.6666666666666667,0.8333333333333334,0.8055555555555556,0.8333333333333334,0.9166666666666666,0.8333333333333334,0.9583333333333334,0.6944444444444444,0.7222222222222223,1.0,0.6944444444444444,1.0,0.6111111111111112,0.7777777777777778,0.9444444444444444,0.6111111111111112,0.9166666666666666,0.5277777777777779,0.8055555555555556,0.7222222222222222,0.6388888888888888,0.9523809523809523,0.9523809523809523,1.0,0.7777777777777778,1.0,0.8888888888888888,0.5444444444444445,1.0,0.5,1.0,0.9444444444444444,0.6666666666666667,0.6666666666666667,0.7777777777777778,0.8333333333333334,0.9523809523809523,0.4722222222222222,0.8333333333333334 +0.24444444444444446,0.0,0.24444444444444446,0.8333333333333334,0.7777777777777778,0.06666666666666676,0.06666666666666676,0.38888888888888895,0.16666666666666663,0.1333333333333333,0.3555555555555555,0.1333333333333333,0.3666666666666667,0.24444444444444446,0.28888888888888886,0.06666666666666676,0.0,0.06666666666666676,0.33333333333333337,0.1777777777777777,0.06666666666666676,0.1777777777777777,0.6000000000000001,0.4222222222222223,0.6111111111111112,0.6000000000000001,0.8055555555555556,0.2666666666666666,0.4222222222222223,0.44444444444444453,0.5,0.5079365079365079,0.16666666666666663,0.16666666666666663,0.11111111111111105,0.3555555555555555,0.1777777777777777,0.5,0.4222222222222223,0.06666666666666676,0.9444444444444444,0.5555555555555556,0.4222222222222223,0.6888888888888889,0.2333333333333334,0.2222222222222222,0.4222222222222223,0.7555555555555555,0.06666666666666676,0.33333333333333337,0.48888888888888893,0.5079365079365079,0.0,0.29999999999999993,0.4222222222222223,0.48888888888888893,0.34444444444444444,0.5,0.1777777777777777,0.06666666666666676,0.3111111111111112,0.16666666666666663,0.6166666666666667,0.85,0.6222222222222222,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.7833333333333333,0.7261904761904763,0.5158730158730158,0.5,0.9523809523809523,0.34444444444444444,1.0,0.6388888888888888,0.5666666666666667,0.7333333333333334,0.75,0.8666666666666667,0.6166666666666667,0.7555555555555555,0.6111111111111112,0.5888888888888888,0.6666666666666667,0.6666666666666667,0.7222222222222223,0.5666666666666667,0.8888888888888888,0.9523809523809523,0.55,0.8055555555555556,0.28888888888888886,1.0,0.7333333333333334,0.6666666666666667,0.47777777777777775,0.5666666666666667,0.8666666666666667,0.7777777777777778,0.4222222222222223,0.6222222222222222 +0.38888888888888895,0.29999999999999993,0.38888888888888895,1.0,0.8888888888888888,0.25,0.25,0.5333333333333334,0.3666666666666667,0.33333333333333337,0.5,0.33333333333333337,0.5833333333333333,0.38888888888888895,0.41666666666666663,0.25,0.29999999999999993,0.25,0.08333333333333337,0.30555555555555547,0.25,0.30555555555555547,0.5555555555555556,0.5833333333333333,0.41666666666666663,0.5555555555555556,0.8222222222222223,0.5,0.5833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.3666666666666667,0.3666666666666667,0.38888888888888884,0.5,0.4222222222222223,0.6666666666666667,0.5833333333333333,0.25,1.0,0.6333333333333333,0.5833333333333333,0.6666666666666667,0.08333333333333337,0.3555555555555555,0.5833333333333333,0.9166666666666666,0.25,0.38888888888888895,0.6666666666666667,0.6666666666666667,0.29999999999999993,0.0,0.5833333333333333,0.6666666666666667,0.4722222222222222,0.6666666666666667,0.30555555555555547,0.25,0.4722222222222222,0.3666666666666667,0.8333333333333334,1.0,0.8666666666666667,1.0,1.0,0.8888888888888888,0.8888888888888888,0.7936507936507936,0.6666666666666667,0.6666666666666667,1.0,0.5888888888888888,1.0,0.7666666666666667,0.7,0.8666666666666667,0.8333333333333334,1.0,0.8333333333333334,1.0,0.7222222222222222,0.8333333333333334,0.7222222222222222,0.8,0.7,0.7,0.8333333333333334,1.0,0.7666666666666667,0.8222222222222223,0.5333333333333334,1.0,0.8666666666666667,0.8333333333333334,0.7222222222222223,0.7,1.0,0.8888888888888888,0.6666666666666667,0.8666666666666667 +0.36111111111111116,0.4222222222222223,0.36111111111111116,0.5555555555555556,0.7555555555555555,0.38888888888888895,0.38888888888888895,0.38888888888888895,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.16666666666666663,0.2222222222222222,0.16666666666666663,0.38888888888888895,0.4222222222222223,0.38888888888888895,0.6000000000000001,0.2777777777777778,0.38888888888888895,0.2777777777777778,0.5,0.0,0.8333333333333334,0.5,0.8333333333333334,0.38888888888888895,0.0,0.38888888888888884,0.2222222222222222,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.5,0.11111111111111105,0.37777777777777777,0.2222222222222222,0.0,0.38888888888888895,0.7222222222222222,0.8666666666666667,0.0,0.9166666666666666,0.5,0.3111111111111112,0.0,0.33333333333333337,0.38888888888888895,0.44444444444444453,0.16666666666666663,0.25,0.4222222222222223,0.5833333333333333,0.0,0.16666666666666663,0.44444444444444453,0.2222222222222222,0.2777777777777778,0.38888888888888895,0.11111111111111116,0.48888888888888893,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.8666666666666667,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.33333333333333337,0.48888888888888893,0.33333333333333337,0.5,0.8222222222222223,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.4444444444444444,0.4444444444444444,0.4444444444444444,0.33333333333333337,0.33333333333333337,0.25,0.4722222222222222,0.48888888888888893,0.4722222222222222,0.6666666666666667,0.36111111111111116,0.4722222222222222,0.36111111111111116,0.6666666666666667,0.16666666666666663,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.2222222222222222,0.16666666666666663,0.33333333333333337,0.16666666666666663,0.4444444444444444,0.4722222222222222,0.4722222222222222,0.48888888888888893,0.2222222222222222,0.36111111111111116,0.16666666666666663,0.16666666666666663,0.4722222222222222,0.6666666666666667,0.9333333333333333,0.16666666666666663,1.0,0.5833333333333333,0.37777777777777777,0.16666666666666663,0.5,0.4722222222222222,0.44444444444444453,0.0,0.2222222222222222,0.48888888888888893,0.6666666666666667,0.16666666666666663,0.0,0.5277777777777779,0.16666666666666663,0.36111111111111116,0.4722222222222222,0.2777777777777778,0.4722222222222222,0.44444444444444453,0.44444444444444453,0.8055555555555556,0.7222222222222223,0.8333333333333334,0.9166666666666666,0.75,0.9444444444444444,0.6666666666666667,0.7222222222222223,1.0,0.6666666666666667,1.0,0.6111111111111112,0.75,0.9166666666666666,0.6111111111111112,0.8333333333333334,0.44444444444444453,0.7222222222222223,0.7666666666666667,0.5555555555555556,0.9333333333333333,0.9333333333333333,1.0,0.75,1.0,0.8888888888888888,0.5,1.0,0.4722222222222222,1.0,0.9166666666666666,0.6666666666666667,0.5833333333333333,0.75,0.75,0.9333333333333333,0.38888888888888895,0.8055555555555556 +0.25,0.34444444444444444,0.25,0.7111111111111111,0.75,0.2777777777777778,0.2777777777777778,0.55,0.4111111111111111,0.36111111111111116,0.5,0.36111111111111116,0.5555555555555556,0.25,0.2777777777777778,0.2777777777777778,0.34444444444444444,0.2777777777777778,0.5222222222222221,0.16666666666666663,0.2777777777777778,0.16666666666666663,0.75,0.44444444444444453,0.711111111111111,0.75,0.7777777777777778,0.5277777777777779,0.44444444444444453,0.6555555555555557,0.5444444444444445,0.6944444444444444,0.4111111111111111,0.4111111111111111,0.44444444444444453,0.36111111111111116,0.29999999999999993,0.5444444444444445,0.44444444444444453,0.2777777777777778,0.8222222222222223,0.6499999999999999,0.44444444444444453,0.7833333333333333,0.38888888888888895,0.2333333333333334,0.44444444444444453,0.6111111111111112,0.2777777777777778,0.3666666666666667,0.5277777777777779,0.5555555555555556,0.34444444444444444,0.4722222222222222,0.44444444444444453,0.5277777777777779,0.0,0.5444444444444445,0.16666666666666663,0.2777777777777778,0.33333333333333337,0.4111111111111111,0.6555555555555557,0.75,0.55,0.85,0.7222222222222223,0.6666666666666667,0.6000000000000001,0.6793650793650794,0.6111111111111112,0.44444444444444453,1.0,0.29999999999999993,1.0,0.6666666666666667,0.6888888888888889,0.6888888888888889,0.7222222222222222,0.9333333333333333,0.6555555555555557,0.6833333333333333,0.5,0.5166666666666666,0.5833333333333333,0.6222222222222222,0.8055555555555556,0.6888888888888889,0.9166666666666666,0.9166666666666666,0.5888888888888888,0.711111111111111,0.55,1.0,0.6333333333333333,0.5555555555555556,0.43333333333333335,0.6888888888888889,0.8666666666666667,0.8333333333333334,0.6833333333333333,0.7166666666666667 +0.36111111111111116,0.5,0.36111111111111116,0.33333333333333337,0.8333333333333334,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.38888888888888895,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.38888888888888884,0.36111111111111116,0.2666666666666666,0.48888888888888893,0.5,0.48888888888888893,0.6666666666666667,0.37777777777777777,0.48888888888888893,0.37777777777777777,0.6666666666666667,0.2222222222222222,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.38888888888888895,0.2222222222222222,0.38888888888888884,0.2222222222222222,0.33333333333333337,0.38888888888888895,0.48888888888888893,0.4222222222222223,0.25,0.37777777777777777,0.0,0.2222222222222222,0.48888888888888893,0.7222222222222222,0.9444444444444444,0.2222222222222222,1.0,0.6000000000000001,0.38888888888888895,0.2222222222222222,0.5555555555555556,0.48888888888888893,0.44444444444444453,0.16666666666666663,0.11111111111111105,0.5,0.6666666666666667,0.2222222222222222,0.16666666666666663,0.5444444444444445,0.0,0.37777777777777777,0.48888888888888893,0.33333333333333337,0.38888888888888895,0.5,0.6111111111111112,0.8222222222222223,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.8055555555555556,0.9523809523809523,0.6833333333333333,0.7222222222222223,1.0,0.6833333333333333,1.0,0.6111111111111112,0.7666666666666667,0.9333333333333333,0.6111111111111112,0.8888888888888888,0.5,0.7777777777777778,0.7777777777777778,0.6111111111111112,0.9444444444444444,0.9444444444444444,1.0,0.7666666666666667,1.0,0.8888888888888888,0.5277777777777779,1.0,0.48888888888888893,1.0,0.9333333333333333,0.6666666666666667,0.6388888888888888,0.7666666666666667,0.8055555555555556,0.9444444444444444,0.4444444444444444,0.8222222222222223 +0.08333333333333337,0.1777777777777777,0.08333333333333337,0.7111111111111111,0.75,0.11111111111111116,0.11111111111111116,0.3833333333333333,0.24444444444444446,0.19444444444444453,0.33333333333333337,0.19444444444444453,0.38888888888888895,0.08333333333333337,0.11111111111111116,0.11111111111111116,0.1777777777777777,0.11111111111111116,0.3555555555555555,0.0,0.11111111111111116,0.0,0.5833333333333333,0.2777777777777778,0.6555555555555557,0.5833333333333333,0.7777777777777778,0.36111111111111116,0.2777777777777778,0.48888888888888893,0.37777777777777777,0.5277777777777779,0.24444444444444446,0.24444444444444446,0.2777777777777778,0.19444444444444453,0.1333333333333333,0.37777777777777777,0.2777777777777778,0.11111111111111116,0.8222222222222223,0.6499999999999999,0.2777777777777778,0.7833333333333333,0.2222222222222222,0.06666666666666676,0.2777777777777778,0.6111111111111112,0.11111111111111116,0.20000000000000007,0.36111111111111116,0.38888888888888895,0.1777777777777777,0.30555555555555547,0.2777777777777778,0.36111111111111116,0.16666666666666663,0.37777777777777777,0.0,0.11111111111111116,0.16666666666666663,0.24444444444444446,0.6000000000000001,0.75,0.7166666666666667,0.85,0.8888888888888888,0.8333333333333334,0.7666666666666667,0.7904761904761904,0.5555555555555556,0.6111111111111112,1.0,0.4666666666666667,1.0,0.6111111111111112,0.6333333333333333,0.8,0.6666666666666667,0.9333333333333333,0.6000000000000001,0.85,0.6666666666666667,0.6833333333333333,0.75,0.7333333333333334,0.8055555555555556,0.6333333333333333,0.9166666666666666,0.9166666666666666,0.5333333333333334,0.8777777777777778,0.3833333333333333,1.0,0.8,0.7222222222222223,0.6000000000000001,0.6333333333333333,0.8666666666666667,0.8333333333333334,0.5166666666666666,0.7166666666666667 +0.19444444444444453,0.06666666666666676,0.19444444444444453,0.8222222222222223,0.8333333333333334,0.0,0.0,0.3555555555555555,0.1333333333333333,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.33333333333333337,0.19444444444444453,0.2222222222222222,0.0,0.06666666666666676,0.0,0.29999999999999993,0.11111111111111116,0.0,0.11111111111111116,0.5833333333333333,0.38888888888888895,0.6000000000000001,0.5833333333333333,0.8611111111111112,0.25,0.38888888888888895,0.43333333333333335,0.48888888888888893,0.5,0.1333333333333333,0.1333333333333333,0.16666666666666663,0.30555555555555547,0.24444444444444446,0.48888888888888893,0.38888888888888895,0.0,0.9333333333333333,0.6222222222222222,0.38888888888888895,0.7555555555555555,0.16666666666666663,0.1777777777777777,0.38888888888888895,0.7222222222222223,0.0,0.3111111111111112,0.4722222222222222,0.5,0.06666666666666676,0.25,0.38888888888888895,0.4722222222222222,0.2777777777777778,0.48888888888888893,0.11111111111111116,0.0,0.2777777777777778,0.1333333333333333,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.7333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.25,0.3111111111111112,0.25,0.6666666666666667,0.7833333333333333,0.2777777777777778,0.2777777777777778,0.41666666666666663,0.37777777777777777,0.36111111111111116,0.5,0.36111111111111116,0.2222222222222222,0.11111111111111105,0.2777777777777778,0.2777777777777778,0.3111111111111112,0.2777777777777778,0.48888888888888893,0.16666666666666663,0.2777777777777778,0.16666666666666663,0.5,0.11111111111111116,0.7222222222222223,0.5,0.75,0.2777777777777778,0.11111111111111116,0.4444444444444444,0.33333333333333337,0.5,0.37777777777777777,0.37777777777777777,0.38888888888888895,0.2222222222222222,0.2666666666666666,0.33333333333333337,0.11111111111111116,0.2777777777777778,0.7777777777777778,0.7833333333333333,0.11111111111111116,0.8333333333333334,0.38888888888888895,0.20000000000000007,0.11111111111111116,0.44444444444444453,0.2777777777777778,0.33333333333333337,0.2777777777777778,0.36111111111111116,0.3111111111111112,0.4722222222222222,0.11111111111111116,0.2777777777777778,0.33333333333333337,0.33333333333333337,0.16666666666666663,0.2777777777777778,0.0,0.37777777777777777,0.5555555555555556,0.6666666666666667,0.85,0.8055555555555556,0.8888888888888888,0.8333333333333334,0.7222222222222222,0.8857142857142857,0.6000000000000001,0.6111111111111112,1.0,0.6000000000000001,1.0,0.6666666666666667,0.7666666666666667,0.9333333333333333,0.6666666666666667,0.8888888888888888,0.5555555555555556,0.8055555555555556,0.7777777777777778,0.6388888888888888,0.8611111111111112,0.8666666666666667,0.9166666666666666,0.7666666666666667,0.9166666666666666,0.9166666666666666,0.5833333333333333,0.9333333333333333,0.5166666666666666,1.0,0.9333333333333333,0.7222222222222223,0.5555555555555556,0.7666666666666667,0.8222222222222222,0.9444444444444444,0.4722222222222222,0.85 +0.19444444444444453,0.16666666666666663,0.19444444444444453,0.7222222222222223,0.9047619047619048,0.1333333333333333,0.1333333333333333,0.4444444444444444,0.0,0.08333333333333337,0.30555555555555547,0.08333333333333337,0.43333333333333335,0.3111111111111112,0.3555555555555555,0.1333333333333333,0.16666666666666663,0.1333333333333333,0.38888888888888884,0.24444444444444446,0.1333333333333333,0.24444444444444446,0.6666666666666667,0.48888888888888893,0.6000000000000001,0.6666666666666667,0.9166666666666666,0.25,0.48888888888888893,0.43333333333333335,0.48888888888888893,0.4222222222222223,0.0,0.1333333333333333,0.06666666666666676,0.4222222222222223,0.24444444444444446,0.38888888888888895,0.48888888888888893,0.1333333333333333,0.9333333333333333,0.7222222222222223,0.48888888888888893,0.8333333333333334,0.29999999999999993,0.2777777777777778,0.48888888888888893,0.8222222222222223,0.1333333333333333,0.3111111111111112,0.4722222222222222,0.4222222222222223,0.16666666666666663,0.3666666666666667,0.48888888888888893,0.4722222222222222,0.4111111111111111,0.38888888888888895,0.24444444444444446,0.1333333333333333,0.37777777777777777,0.0,0.6833333333333333,0.8333333333333334,0.6888888888888889,0.8222222222222223,0.8333333333333334,0.7777777777777778,0.85,0.7738095238095238,0.5,0.5,1.0,0.4111111111111111,1.0,0.6944444444444444,0.6333333333333333,0.8,0.75,0.9333333333333333,0.6833333333333333,0.8222222222222223,0.6666666666666667,0.6555555555555557,0.7222222222222223,0.8333333333333334,0.7777777777777778,0.6333333333333333,0.8888888888888888,1.0,0.6166666666666667,0.8611111111111112,0.3555555555555555,1.0,0.8,0.6666666666666667,0.5444444444444445,0.6333333333333333,0.9333333333333333,0.8333333333333334,0.48888888888888893,0.6888888888888889 +0.5833333333333333,0.6166666666666667,0.5833333333333333,0.6666666666666667,0.7833333333333333,0.6833333333333333,0.6833333333333333,0.6833333333333333,0.6833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6111111111111112,0.5833333333333333,0.5444444444444445,0.6833333333333333,0.6166666666666667,0.6833333333333333,0.8333333333333334,0.6000000000000001,0.6833333333333333,0.6000000000000001,0.8333333333333334,0.5,0.6666666666666667,0.8333333333333334,0.85,0.5833333333333333,0.5,0.6111111111111112,0.5,0.6666666666666667,0.6833333333333333,0.6833333333333333,0.6166666666666667,0.5277777777777779,0.5,0.5,0.5,0.6833333333333333,0.7777777777777778,0.8666666666666667,0.5,0.8333333333333334,0.7666666666666667,0.6111111111111112,0.5,0.6666666666666667,0.6833333333333333,0.6666666666666667,0.44444444444444453,0.5277777777777779,0.6166666666666667,0.8333333333333334,0.5,0.44444444444444453,0.6555555555555557,0.5,0.6000000000000001,0.6833333333333333,0.5555555555555556,0.6833333333333333,0.0,0.5,0.6111111111111112,0.44444444444444453,0.8888888888888888,0.8333333333333334,0.5,0.8888888888888888,0.6555555555555557,0.8055555555555556,0.8333333333333334,0.5555555555555556,1.0,0.25,0.38888888888888895,0.7222222222222223,0.33333333333333337,0.38888888888888895,0.0,0.44444444444444453,0.6444444444444444,0.33333333333333337,0.7833333333333333,0.7555555555555555,0.85,0.5,0.9166666666666666,0.5277777777777779,0.2777777777777777,0.85,0.44444444444444453,1.0,0.75,0.7777777777777778,0.38888888888888884,0.38888888888888895,0.5,0.7555555555555555,0.2777777777777778,0.44444444444444453 +0.7222222222222222,0.85,0.7222222222222222,0.41666666666666674,0.775,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8055555555555556,0.8055555555555556,0.8055555555555556,0.7222222222222223,0.7222222222222222,0.6944444444444444,0.8333333333333334,0.85,0.8333333333333334,1.0,0.75,0.8333333333333334,0.75,1.0,0.6111111111111112,1.0,1.0,0.9333333333333333,0.5833333333333333,0.6111111111111112,0.7222222222222223,0.6111111111111112,0.8055555555555556,0.8333333333333334,0.8333333333333334,0.85,0.6666666666666667,0.75,0.6111111111111112,0.6111111111111112,0.8333333333333334,0.5833333333333334,0.9333333333333333,0.6111111111111112,0.9166666666666666,0.9166666666666666,0.7666666666666667,0.6111111111111112,0.41666666666666674,0.8333333333333334,0.8333333333333334,0.44444444444444453,0.6666666666666667,0.85,1.0,0.6111111111111112,0.44444444444444453,0.75,0.6111111111111112,0.75,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.5,0.0,0.6944444444444444,0.6111111111111112,0.8888888888888888,0.8333333333333334,0.6666666666666667,0.9444444444444444,0.75,0.9166666666666666,0.9166666666666666,0.75,1.0,0.6666666666666667,0.8055555555555556,0.8055555555555556,0.6666666666666667,0.7222222222222223,0.5,0.6111111111111112,0.8222222222222223,0.6111111111111112,0.85,0.8222222222222223,0.9166666666666666,0.9166666666666666,0.9166666666666666,0.7777777777777778,0.7222222222222222,0.9333333333333333,0.6944444444444444,1.0,0.8333333333333334,0.8888888888888888,0.6666666666666667,0.8055555555555556,0.6666666666666667,0.8222222222222223,0.6111111111111112,0.6944444444444444 +0.6666666666666667,0.6222222222222222,0.6666666666666667,0.8222222222222223,0.8333333333333334,0.6888888888888889,0.6888888888888889,0.7777777777777778,0.6888888888888889,0.6388888888888888,0.6388888888888888,0.6388888888888888,0.7666666666666667,0.7833333333333333,0.6888888888888889,0.6888888888888889,0.6222222222222222,0.6888888888888889,0.8888888888888888,0.7166666666666667,0.6888888888888889,0.7166666666666667,1.0,0.8222222222222223,0.9333333333333333,1.0,0.9444444444444444,0.8055555555555556,0.8222222222222223,0.7666666666666667,0.8222222222222223,0.8333333333333334,0.6888888888888889,0.6888888888888889,0.6222222222222222,0.7555555555555555,0.5833333333333333,0.8222222222222223,0.8222222222222223,0.6888888888888889,0.9333333333333333,0.7333333333333334,0.8222222222222223,0.7555555555555555,0.8,0.75,0.8222222222222223,0.8222222222222223,0.6888888888888889,0.7833333333333333,0.8055555555555556,0.8333333333333334,0.6222222222222222,0.8666666666666667,0.8222222222222223,0.8055555555555556,0.55,0.8222222222222223,0.7166666666666667,0.6888888888888889,0.85,0.6888888888888889,0.6111111111111112,0.6944444444444444,0.0,0.5,0.5,0.44444444444444453,0.41666666666666663,0.6111111111111112,0.6666666666666667,0.7222222222222223,0.8333333333333334,0.2777777777777778,1.0,0.6444444444444444,0.5,0.33333333333333337,0.7777777777777778,0.6666666666666667,0.6111111111111112,0.16666666666666663,0.4,0.33333333333333337,0.28888888888888886,0.4,0.6888888888888889,0.6666666666666667,0.8888888888888888,0.8333333333333334,0.6666666666666667,0.45000000000000007,0.33333333333333337,1.0,0.2222222222222222,0.6666666666666667,0.44444444444444453,0.5,0.75,0.5666666666666667,0.5,0.33333333333333337 +0.8333333333333334,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.8666666666666667,0.8222222222222223,0.8222222222222223,0.8222222222222223,0.8222222222222223,0.8055555555555556,0.8055555555555556,0.8055555555555556,0.7222222222222222,0.8333333333333334,0.8222222222222223,0.8222222222222223,0.7555555555555555,0.8222222222222223,1.0,0.85,0.8222222222222223,0.85,1.0,0.7777777777777778,1.0,1.0,0.9166666666666666,0.7222222222222223,0.7777777777777778,0.7222222222222222,0.7777777777777778,0.8055555555555556,0.8222222222222223,0.8222222222222223,0.7555555555555555,0.8055555555555556,0.75,0.7777777777777778,0.7777777777777778,0.8222222222222223,0.8888888888888888,0.8666666666666667,0.7777777777777778,0.8055555555555556,0.9333333333333333,0.8611111111111112,0.7777777777777778,0.7777777777777778,0.8222222222222223,0.9166666666666666,0.7222222222222223,0.8055555555555556,0.7555555555555555,1.0,0.7777777777777778,0.7222222222222223,0.85,0.7777777777777778,0.85,0.8222222222222223,0.8055555555555556,0.8222222222222223,0.44444444444444453,0.6111111111111112,0.5,0.0,0.8333333333333334,0.7777777777777778,0.5833333333333333,0.8888888888888888,0.7111111111111111,0.8888888888888888,0.8055555555555556,0.6111111111111112,1.0,0.6944444444444444,0.6666666666666667,0.6666666666666667,0.7777777777777778,0.5,0.44444444444444453,0.33333333333333337,0.7,0.33333333333333337,0.7555555555555555,0.7,0.48888888888888893,0.8333333333333334,0.8888888888888888,0.8055555555555556,0.6944444444444444,0.8333333333333334,0.5,1.0,0.7222222222222223,0.8333333333333334,0.44444444444444453,0.6666666666666667,0.5833333333333333,0.7,0.33333333333333337,0.5 +0.8888888888888888,0.8333333333333334,0.8888888888888888,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,0.8888888888888888,0.8333333333333334,0.8888888888888888,1.0,0.8333333333333334,1.0,1.0,1.0,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,1.0,0.8333333333333334,1.0,1.0,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,0.8333333333333334,0.7222222222222223,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.8888888888888888,0.8333333333333334,0.8888888888888888,0.8888888888888888,0.5,0.8333333333333334,0.0,0.33333333333333337,0.6666666666666667,0.8333333333333334,0.8888888888888888,0.5,1.0,0.7222222222222223,1.0,0.8888888888888888,1.0,0.8333333333333334,0.8333333333333334,1.0,0.8888888888888888,0.5,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8333333333333334,1.0,1.0,1.0,1.0,0.8888888888888888,0.6666666666666667,0.8333333333333334,1.0,0.6666666666666667,0.25,0.7222222222222223,1.0,1.0,1.0,0.8333333333333334,0.8333333333333334 +0.8333333333333334,0.7777777777777778,0.8333333333333334,0.9166666666666666,1.0,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.7777777777777778,0.8888888888888888,0.8333333333333334,0.9166666666666666,0.7777777777777778,0.7777777777777778,0.7777777777777778,0.8888888888888888,0.8333333333333334,0.7777777777777778,0.8333333333333334,1.0,0.9166666666666666,0.8888888888888888,1.0,0.9333333333333333,0.7777777777777778,0.9166666666666666,0.8888888888888888,0.9166666666666666,0.9166666666666666,0.7777777777777778,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.7777777777777778,1.0,0.9166666666666666,0.9166666666666666,0.7777777777777778,0.8888888888888888,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.7777777777777778,0.8333333333333334,0.9166666666666666,0.9166666666666666,0.7777777777777778,0.8888888888888888,0.9166666666666666,0.9166666666666666,0.6666666666666667,0.9166666666666666,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.8333333333333334,0.44444444444444453,0.7777777777777778,0.33333333333333337,0.0,0.5,0.7666666666666667,0.6666666666666667,0.41666666666666674,0.9166666666666666,0.5,1.0,0.8333333333333334,0.8888888888888888,0.7222222222222223,0.75,0.8888888888888888,0.8333333333333334,0.44444444444444453,0.7222222222222223,0.6111111111111112,0.44444444444444453,0.7222222222222223,0.7777777777777778,1.0,0.7777777777777778,0.9166666666666666,0.9333333333333333,0.5,0.7777777777777778,1.0,0.5833333333333333,0.5833333333333334,0.5,0.8888888888888888,0.9333333333333333,0.8888888888888888,0.7777777777777778,0.7777777777777778 +0.75,0.7833333333333333,0.75,0.8055555555555556,0.7833333333333333,0.85,0.85,0.9333333333333333,0.85,0.8333333333333334,0.9166666666666666,0.8333333333333334,0.8888888888888888,0.75,0.85,0.85,0.7833333333333333,0.85,0.8888888888888888,0.7666666666666667,0.85,0.7666666666666667,1.0,0.8055555555555556,0.8888888888888888,1.0,0.75,0.75,0.8055555555555556,0.8888888888888888,0.8055555555555556,0.9166666666666666,0.85,0.85,0.7833333333333333,0.8333333333333334,0.6666666666666667,0.8055555555555556,0.8055555555555556,0.85,0.7777777777777778,0.7833333333333333,0.8055555555555556,0.6944444444444444,0.8222222222222223,0.7777777777777778,0.8055555555555556,0.8055555555555556,0.85,0.8333333333333334,0.75,0.8333333333333334,0.7833333333333333,0.8888888888888888,0.8055555555555556,0.75,0.6000000000000001,0.8055555555555556,0.7666666666666667,0.85,0.7222222222222222,0.85,0.5,0.6666666666666667,0.41666666666666663,0.5833333333333333,0.6666666666666667,0.5,0.0,0.6555555555555554,0.7666666666666667,0.75,0.8333333333333334,0.5,1.0,0.75,0.7222222222222223,0.5555555555555556,0.8333333333333334,0.5555555555555556,0.5,0.25,0.5888888888888888,0.41666666666666663,0.3111111111111112,0.5888888888888888,0.7111111111111111,0.8333333333333334,0.7777777777777778,0.6944444444444444,0.711111111111111,0.41666666666666663,0.75,1.0,0.41666666666666663,0.8333333333333334,0.33333333333333337,0.7222222222222223,0.5,0.7555555555555555,0.5833333333333333,0.75 +0.7666666666666667,0.7261904761904763,0.7666666666666667,0.9523809523809523,0.875,0.7738095238095238,0.7738095238095238,0.9166666666666666,0.7738095238095238,0.75,0.8333333333333334,0.75,0.9523809523809523,0.8380952380952381,0.8571428571428571,0.7738095238095238,0.7261904761904763,0.7738095238095238,0.8055555555555556,0.7904761904761904,0.7738095238095238,0.7904761904761904,1.0,0.9523809523809523,0.8412698412698413,1.0,0.8916666666666666,0.8611111111111112,0.9523809523809523,0.9523809523809523,0.9523809523809523,0.9583333333333334,0.7738095238095238,0.7738095238095238,0.7261904761904763,0.9047619047619048,0.711111111111111,0.9523809523809523,0.9523809523809523,0.7738095238095238,0.9523809523809523,0.7261904761904763,0.9523809523809523,0.6547619047619049,0.746031746031746,0.8083333333333333,0.9523809523809523,0.9523809523809523,0.7738095238095238,0.8380952380952381,0.9444444444444444,0.9583333333333334,0.7261904761904763,0.7936507936507936,0.9523809523809523,0.9444444444444444,0.6793650793650794,0.9523809523809523,0.7904761904761904,0.7738095238095238,0.8857142857142857,0.7738095238095238,0.8888888888888888,0.9444444444444444,0.6111111111111112,0.8888888888888888,0.8333333333333334,0.7666666666666667,0.6555555555555554,0.0,0.7904761904761904,0.8055555555555556,0.9583333333333334,0.6000000000000001,0.9523809523809523,0.9047619047619048,0.7777777777777778,0.4444444444444444,1.0,0.8888888888888888,0.8888888888888888,0.7222222222222222,0.6984126984126984,0.7777777777777778,0.5595238095238095,0.47619047619047616,0.7738095238095238,0.7777777777777778,0.9166666666666666,0.9583333333333334,0.8333333333333334,0.6714285714285715,0.7777777777777778,0.9444444444444444,0.6111111111111112,0.8888888888888888,0.711111111111111,0.7777777777777778,0.8888888888888888,0.6984126984126984,0.8888888888888888,0.7777777777777778 +0.5333333333333334,0.5158730158730158,0.5333333333333334,0.85,0.9047619047619048,0.5,0.5,0.6388888888888888,0.5,0.47777777777777775,0.6166666666666667,0.47777777777777775,0.6555555555555557,0.6111111111111112,0.6388888888888888,0.5,0.5158730158730158,0.5,0.6746031746031746,0.5555555555555556,0.5,0.5555555555555556,0.8333333333333334,0.6833333333333333,0.7777777777777778,0.8333333333333334,0.9333333333333333,0.5277777777777779,0.6833333333333333,0.6555555555555557,0.6833333333333333,0.6944444444444444,0.5,0.5,0.5158730158730158,0.6166666666666667,0.5555555555555556,0.6833333333333333,0.6833333333333333,0.5,0.9333333333333333,0.8214285714285714,0.6833333333333333,0.7222222222222223,0.6111111111111112,0.5714285714285714,0.6833333333333333,0.85,0.5,0.6111111111111112,0.6666666666666667,0.6944444444444444,0.5158730158730158,0.6666666666666667,0.6833333333333333,0.6666666666666667,0.6111111111111112,0.6833333333333333,0.5555555555555556,0.5,0.6000000000000001,0.5,0.6555555555555557,0.75,0.6666666666666667,0.7111111111111111,0.8888888888888888,0.6666666666666667,0.7666666666666667,0.7904761904761904,0.0,0.6666666666666667,0.9166666666666666,0.4444444444444444,1.0,0.6666666666666667,0.6666666666666667,0.7777777777777778,0.7222222222222222,0.8222222222222223,0.6555555555555557,0.7111111111111111,0.6825396825396826,0.6000000000000001,0.6825396825396826,0.7936507936507936,0.7301587301587302,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.6888888888888889,0.8333333333333334,0.5,1.0,0.8055555555555556,0.7777777777777778,0.48888888888888893,0.6666666666666667,0.8666666666666667,0.6825396825396826,0.5444444444444445,0.6666666666666667 +0.6111111111111112,0.5,0.6111111111111112,0.8888888888888888,1.0,0.5,0.5,0.7222222222222223,0.5,0.5,0.7222222222222223,0.5,0.6666666666666667,0.6111111111111112,0.7222222222222223,0.5,0.5,0.5,0.6666666666666667,0.6111111111111112,0.5,0.6111111111111112,0.8333333333333334,0.7222222222222223,0.7222222222222222,0.8333333333333334,0.9166666666666666,0.5,0.7222222222222223,0.6666666666666667,0.7222222222222223,0.7222222222222223,0.5,0.5,0.5,0.7222222222222223,0.6111111111111112,0.7222222222222223,0.7222222222222223,0.5,1.0,0.8888888888888888,0.7222222222222223,0.8888888888888888,0.6666666666666667,0.6111111111111112,0.7222222222222223,0.8888888888888888,0.5,0.6111111111111112,0.7222222222222223,0.7222222222222223,0.5,0.6666666666666667,0.7222222222222223,0.7222222222222223,0.44444444444444453,0.7222222222222223,0.6111111111111112,0.5,0.6111111111111112,0.5,0.8055555555555556,0.9166666666666666,0.7222222222222223,0.8888888888888888,0.5,0.41666666666666674,0.75,0.8055555555555556,0.6666666666666667,0.0,1.0,0.44444444444444453,1.0,0.8055555555555556,0.8888888888888888,0.8888888888888888,0.7083333333333333,1.0,0.8055555555555556,0.7222222222222223,0.6666666666666667,0.5555555555555556,0.7222222222222223,0.8888888888888888,0.8888888888888888,0.8888888888888888,0.8888888888888888,1.0,0.8055555555555556,0.75,0.7222222222222223,1.0,0.8333333333333334,0.25,0.44444444444444453,0.8888888888888888,1.0,1.0,0.7222222222222223,0.8888888888888888 +1.0,0.9523809523809523,1.0,1.0,0.9523809523809523,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9523809523809523,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9333333333333333,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9523809523809523,1.0,0.9444444444444444,1.0,1.0,1.0,1.0,0.9523809523809523,1.0,0.8222222222222223,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9523809523809523,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,0.9166666666666666,0.8333333333333334,0.8055555555555556,1.0,0.9166666666666666,0.8333333333333334,0.9583333333333334,0.9166666666666666,1.0,0.0,0.8611111111111112,0.75,0.85,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.75,0.8333333333333334,0.8055555555555556,0.7857142857142857,0.8055555555555556,0.8412698412698413,0.7857142857142857,0.7555555555555555,0.9444444444444444,0.8888888888888888,0.8222222222222223,0.9333333333333333,0.85,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.7857142857142857,0.8055555555555556,0.8333333333333334 +0.41666666666666663,0.34444444444444444,0.41666666666666663,0.85,0.8333333333333334,0.4111111111111111,0.4111111111111111,0.6388888888888888,0.4111111111111111,0.36111111111111116,0.5,0.36111111111111116,0.6555555555555557,0.5333333333333334,0.55,0.4111111111111111,0.34444444444444444,0.4111111111111111,0.6111111111111112,0.4666666666666667,0.4111111111111111,0.4666666666666667,0.8333333333333334,0.6833333333333333,0.711111111111111,0.8333333333333334,0.8777777777777778,0.5277777777777779,0.6833333333333333,0.6555555555555557,0.6833333333333333,0.6944444444444444,0.4111111111111111,0.4111111111111111,0.34444444444444444,0.6166666666666667,0.33333333333333337,0.6833333333333333,0.6833333333333333,0.4111111111111111,0.9333333333333333,0.6499999999999999,0.6833333333333333,0.6444444444444444,0.5222222222222221,0.5,0.6833333333333333,0.85,0.4111111111111111,0.5333333333333334,0.6666666666666667,0.6944444444444444,0.34444444444444444,0.5888888888888888,0.6833333333333333,0.6666666666666667,0.29999999999999993,0.6833333333333333,0.4666666666666667,0.4111111111111111,0.6000000000000001,0.4111111111111111,0.5555555555555556,0.75,0.2777777777777778,0.6111111111111112,0.7222222222222223,0.5,0.5,0.6000000000000001,0.4444444444444444,0.44444444444444453,0.8611111111111112,0.0,1.0,0.5888888888888888,0.4444444444444444,0.4444444444444444,0.7222222222222222,0.7222222222222223,0.5555555555555556,0.44444444444444453,0.28888888888888886,0.2777777777777778,0.34444444444444444,0.5111111111111111,0.5777777777777777,0.5555555555555556,0.7777777777777778,0.8611111111111112,0.5722222222222222,0.5333333333333334,0.2777777777777778,1.0,0.41666666666666663,0.5555555555555556,0.16666666666666663,0.4444444444444444,0.7666666666666667,0.6222222222222222,0.44444444444444453,0.44444444444444453 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9523809523809523,1.0,1.0,0.75,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.6000000000000001,0.6388888888888888,0.6000000000000001,0.7777777777777778,0.8055555555555556,0.6944444444444444,0.6944444444444444,0.6944444444444444,0.6944444444444444,0.6833333333333333,0.6833333333333333,0.6833333333333333,0.7222222222222223,0.6666666666666667,0.5555555555555556,0.6944444444444444,0.6388888888888888,0.6944444444444444,0.7777777777777778,0.6111111111111112,0.6944444444444444,0.6111111111111112,0.8333333333333334,0.6111111111111112,0.6666666666666667,0.8333333333333334,0.8666666666666667,0.75,0.6111111111111112,0.7222222222222223,0.6111111111111112,0.75,0.6944444444444444,0.6944444444444444,0.6388888888888888,0.5444444444444445,0.5333333333333334,0.6111111111111112,0.6111111111111112,0.6944444444444444,0.8888888888888888,0.8888888888888888,0.6111111111111112,0.75,0.7777777777777778,0.6190476190476191,0.6111111111111112,0.7777777777777778,0.6944444444444444,0.6000000000000001,0.6111111111111112,0.6111111111111112,0.6388888888888888,0.7666666666666667,0.6111111111111112,0.6111111111111112,0.6666666666666667,0.6111111111111112,0.6111111111111112,0.6944444444444444,0.6666666666666667,0.6944444444444444,0.25,0.6666666666666667,0.6444444444444444,0.6944444444444444,0.8888888888888888,0.8333333333333334,0.75,0.9047619047619048,0.6666666666666667,0.8055555555555556,0.85,0.5888888888888888,1.0,0.0,0.4222222222222223,0.7555555555555555,0.33333333333333337,0.6388888888888888,0.25,0.6944444444444444,0.6666666666666667,0.5833333333333333,0.8055555555555556,0.7777777777777778,0.7833333333333333,0.5333333333333334,0.9166666666666666,0.5444444444444445,0.33333333333333337,0.8666666666666667,0.47777777777777775,1.0,0.7833333333333333,0.7777777777777778,0.6388888888888888,0.4222222222222223,0.75,0.7777777777777778,0.5277777777777779,0.47777777777777775 +0.5833333333333333,0.5666666666666667,0.5833333333333333,0.9333333333333333,0.8333333333333334,0.6333333333333333,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.7666666666666667,0.7,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.6333333333333333,0.6333333333333333,0.8333333333333334,0.7666666666666667,0.6000000000000001,0.8333333333333334,0.9444444444444444,0.75,0.7666666666666667,0.7666666666666667,0.7666666666666667,0.7777777777777778,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.7,0.5,0.7666666666666667,0.7666666666666667,0.6333333333333333,0.9333333333333333,0.7333333333333334,0.7666666666666667,0.7,0.6333333333333333,0.6666666666666667,0.7666666666666667,0.9333333333333333,0.6333333333333333,0.7,0.75,0.7777777777777778,0.5666666666666667,0.7,0.7666666666666667,0.75,0.6888888888888889,0.7666666666666667,0.6333333333333333,0.6333333333333333,0.7666666666666667,0.6333333333333333,0.38888888888888895,0.8055555555555556,0.5,0.6666666666666667,1.0,0.8888888888888888,0.7222222222222223,0.7777777777777778,0.6666666666666667,0.8888888888888888,0.7777777777777778,0.4444444444444444,1.0,0.4222222222222223,0.0,0.33333333333333337,0.5555555555555556,0.33333333333333337,0.38888888888888895,0.6666666666666667,0.28888888888888886,0.5555555555555556,0.5666666666666667,0.4,0.6333333333333333,0.33333333333333337,0.8333333333333334,0.6111111111111112,0.41666666666666663,0.7555555555555555,0.33333333333333337,1.0,0.5,0.8888888888888888,0.6111111111111112,0.0,0.7222222222222223,0.4,0.5,0.33333333333333337 +0.75,0.7333333333333334,0.75,0.9333333333333333,0.8333333333333334,0.8,0.8,0.8888888888888888,0.8,0.75,0.75,0.75,0.9333333333333333,0.8666666666666667,0.8,0.8,0.7333333333333334,0.8,0.8888888888888888,0.8,0.8,0.8,1.0,0.9333333333333333,0.9333333333333333,1.0,0.9444444444444444,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9444444444444444,0.8,0.8,0.7333333333333334,0.8666666666666667,0.6666666666666667,0.9333333333333333,0.9333333333333333,0.8,0.9333333333333333,0.7333333333333334,0.9333333333333333,0.5333333333333334,0.8,0.8333333333333334,0.9333333333333333,0.9333333333333333,0.8,0.8666666666666667,0.9166666666666666,0.9444444444444444,0.7333333333333334,0.8666666666666667,0.9333333333333333,0.9166666666666666,0.6888888888888889,0.9333333333333333,0.8,0.8,0.9333333333333333,0.8,0.7222222222222223,0.8055555555555556,0.33333333333333337,0.6666666666666667,0.8333333333333334,0.7222222222222223,0.5555555555555556,0.4444444444444444,0.7777777777777778,0.8888888888888888,0.7777777777777778,0.4444444444444444,1.0,0.7555555555555555,0.33333333333333337,0.0,0.8888888888888888,0.5,0.7222222222222223,0.5,0.28888888888888886,0.5555555555555556,0.4,0.06666666666666676,0.6333333333333333,0.6666666666666667,0.8333333333333334,0.7777777777777778,0.75,0.5888888888888888,0.5,1.0,0.33333333333333337,0.8888888888888888,0.6111111111111112,0.33333333333333337,0.7222222222222223,0.28888888888888886,0.6666666666666667,0.5 +0.6666666666666667,0.75,0.6666666666666667,0.7777777777777778,0.9166666666666666,0.75,0.75,0.75,0.75,0.75,0.75,0.75,0.7222222222222223,0.6666666666666667,0.6111111111111112,0.75,0.75,0.75,0.8333333333333334,0.6666666666666667,0.75,0.6666666666666667,0.8333333333333334,0.6111111111111112,0.6666666666666667,0.8333333333333334,0.9333333333333333,0.75,0.6111111111111112,0.7222222222222223,0.6111111111111112,0.75,0.75,0.75,0.75,0.6111111111111112,0.6666666666666667,0.6111111111111112,0.6111111111111112,0.75,0.8888888888888888,1.0,0.6111111111111112,0.9166666666666666,0.8333333333333334,0.6666666666666667,0.6111111111111112,0.7777777777777778,0.75,0.6666666666666667,0.6111111111111112,0.6111111111111112,0.75,0.8333333333333334,0.6111111111111112,0.6111111111111112,0.7222222222222222,0.6111111111111112,0.6666666666666667,0.75,0.6666666666666667,0.75,0.33333333333333337,0.6666666666666667,0.7777777777777778,0.7777777777777778,0.8333333333333334,0.75,0.8333333333333334,1.0,0.7222222222222222,0.7083333333333333,0.9166666666666666,0.7222222222222222,1.0,0.33333333333333337,0.5555555555555556,0.8888888888888888,0.0,0.7222222222222223,0.33333333333333337,0.7777777777777778,0.7777777777777778,0.6666666666666667,0.9166666666666666,0.8888888888888888,0.9166666666666666,0.6666666666666667,0.9166666666666666,0.6111111111111112,0.5,0.9333333333333333,0.6111111111111112,1.0,0.9166666666666666,0.6666666666666666,0.7222222222222222,0.5555555555555556,0.8333333333333334,0.8888888888888888,0.6111111111111112,0.6111111111111112 +0.9166666666666666,0.8666666666666667,0.9166666666666666,0.8888888888888888,0.8666666666666667,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9166666666666666,0.9166666666666666,0.9166666666666666,0.8888888888888888,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.8666666666666667,0.9333333333333333,1.0,0.9333333333333333,0.9333333333333333,0.9333333333333333,1.0,0.8888888888888888,0.8333333333333334,1.0,0.9166666666666666,0.8333333333333334,0.8888888888888888,0.8888888888888888,0.8888888888888888,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.8666666666666667,0.9166666666666666,0.8333333333333334,0.8888888888888888,0.8888888888888888,0.9333333333333333,0.8888888888888888,0.8666666666666667,0.8888888888888888,0.75,0.9333333333333333,0.9444444444444444,0.8888888888888888,0.8888888888888888,0.9333333333333333,1.0,0.8333333333333334,0.9166666666666666,0.8666666666666667,1.0,0.8888888888888888,0.8333333333333334,0.9333333333333333,0.8888888888888888,0.9333333333333333,0.9333333333333333,0.8888888888888888,0.9333333333333333,0.38888888888888895,0.7222222222222223,0.6666666666666667,0.5,1.0,0.8888888888888888,0.5555555555555556,0.8888888888888888,0.8222222222222223,1.0,0.75,0.7222222222222223,1.0,0.6388888888888888,0.33333333333333337,0.5,0.7222222222222223,0.0,0.38888888888888895,0.5,0.5333333333333334,0.5,0.7,0.5333333333333334,0.7666666666666667,0.6666666666666667,0.8333333333333334,0.41666666666666663,0.6111111111111112,0.8055555555555556,0.6666666666666667,1.0,0.6666666666666667,1.0,0.5555555555555556,0.33333333333333337,0.5555555555555556,0.5333333333333334,0.5,0.33333333333333337 +0.5833333333333333,0.6166666666666667,0.5833333333333333,0.6666666666666667,0.7833333333333333,0.6833333333333333,0.6833333333333333,0.6833333333333333,0.6833333333333333,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6111111111111112,0.5833333333333333,0.5444444444444445,0.6833333333333333,0.6166666666666667,0.6833333333333333,0.8333333333333334,0.6000000000000001,0.6833333333333333,0.6000000000000001,0.8333333333333334,0.5,0.6666666666666667,0.8333333333333334,0.85,0.5833333333333333,0.5,0.6111111111111112,0.5,0.6666666666666667,0.6833333333333333,0.6833333333333333,0.6166666666666667,0.5277777777777779,0.5,0.5,0.5,0.6833333333333333,0.7777777777777778,0.8666666666666667,0.5,0.8333333333333334,0.7666666666666667,0.6111111111111112,0.5,0.6666666666666667,0.6833333333333333,0.6666666666666667,0.44444444444444453,0.5277777777777779,0.6166666666666667,0.8333333333333334,0.5,0.44444444444444453,0.6555555555555557,0.5,0.6000000000000001,0.6833333333333333,0.5555555555555556,0.6833333333333333,0.0,0.5,0.6111111111111112,0.44444444444444453,0.8888888888888888,0.8333333333333334,0.5,0.8888888888888888,0.6555555555555557,0.8055555555555556,0.8333333333333334,0.5555555555555556,1.0,0.25,0.38888888888888895,0.7222222222222223,0.33333333333333337,0.38888888888888895,0.0,0.44444444444444453,0.6444444444444444,0.33333333333333337,0.7833333333333333,0.7555555555555555,0.85,0.5,0.9166666666666666,0.5277777777777779,0.2777777777777777,0.85,0.44444444444444453,1.0,0.75,0.7777777777777778,0.38888888888888884,0.38888888888888895,0.5,0.7555555555555555,0.2777777777777778,0.44444444444444453 +0.8333333333333334,0.7555555555555555,0.8333333333333334,0.7777777777777778,0.8666666666666667,0.8222222222222223,0.8222222222222223,0.8222222222222223,0.8222222222222223,0.8055555555555556,0.8055555555555556,0.8055555555555556,0.7222222222222222,0.8333333333333334,0.8222222222222223,0.8222222222222223,0.7555555555555555,0.8222222222222223,1.0,0.85,0.8222222222222223,0.85,1.0,0.7777777777777778,1.0,1.0,0.9166666666666666,0.7222222222222223,0.7777777777777778,0.7222222222222222,0.7777777777777778,0.8055555555555556,0.8222222222222223,0.8222222222222223,0.7555555555555555,0.8055555555555556,0.75,0.7777777777777778,0.7777777777777778,0.8222222222222223,0.8888888888888888,0.8666666666666667,0.7777777777777778,0.8055555555555556,0.9333333333333333,0.8611111111111112,0.7777777777777778,0.7777777777777778,0.8222222222222223,0.9166666666666666,0.7222222222222223,0.8055555555555556,0.7555555555555555,1.0,0.7777777777777778,0.7222222222222223,0.6833333333333333,0.7777777777777778,0.85,0.8222222222222223,0.8055555555555556,0.8222222222222223,0.44444444444444453,0.6111111111111112,0.16666666666666663,0.33333333333333337,0.5,0.44444444444444453,0.25,0.7222222222222222,0.7111111111111111,0.7222222222222223,0.8055555555555556,0.44444444444444453,1.0,0.6944444444444444,0.6666666666666667,0.5,0.7777777777777778,0.5,0.44444444444444453,0.0,0.5333333333333334,0.16666666666666663,0.4222222222222223,0.5333333333333334,0.8222222222222223,0.8333333333333334,0.8888888888888888,0.8055555555555556,0.6944444444444444,0.5,0.5,1.0,0.38888888888888895,0.6666666666666667,0.2777777777777778,0.6666666666666667,0.5833333333333333,0.7,0.33333333333333337,0.5 +0.6333333333333333,0.6111111111111112,0.6333333333333333,0.9444444444444444,0.7777777777777778,0.6666666666666667,0.6666666666666667,0.7380952380952381,0.6666666666666667,0.6333333333333333,0.6333333333333333,0.6333333333333333,0.7777777777777778,0.7222222222222222,0.6666666666666667,0.6666666666666667,0.6111111111111112,0.6666666666666667,0.7380952380952381,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.8333333333333334,0.9523809523809523,0.7666666666666667,0.7777777777777778,0.7777777777777778,0.7777777777777778,0.7857142857142857,0.6666666666666667,0.6666666666666667,0.6111111111111112,0.7222222222222222,0.5666666666666667,0.7777777777777778,0.7777777777777778,0.6666666666666667,0.9444444444444444,0.7777777777777778,0.7777777777777778,0.7222222222222222,0.6666666666666667,0.6904761904761905,0.7777777777777778,0.9444444444444444,0.6666666666666667,0.7222222222222222,0.7666666666666667,0.7222222222222222,0.6111111111111112,0.7222222222222222,0.7777777777777778,0.7666666666666667,0.5,0.7777777777777778,0.6666666666666667,0.6666666666666667,0.7777777777777778,0.6666666666666667,0.6444444444444444,0.8222222222222223,0.4,0.7,0.8333333333333334,0.7222222222222223,0.5888888888888888,0.6984126984126984,0.6825396825396826,0.6666666666666667,0.7857142857142857,0.28888888888888886,1.0,0.6666666666666667,0.28888888888888886,0.28888888888888886,0.7777777777777778,0.5333333333333334,0.6444444444444444,0.5333333333333334,0.0,0.3666666666666667,0.4444444444444444,0.33333333333333337,0.6666666666666667,0.6222222222222222,0.8333333333333334,0.7857142857142857,0.6888888888888889,0.6111111111111112,0.4,1.0,0.4,0.6666666666666667,0.4222222222222223,0.28888888888888886,0.7555555555555555,0.4444444444444444,0.5333333333333334,0.5666666666666667 +0.6666666666666667,0.5888888888888888,0.6666666666666667,0.7777777777777778,0.8666666666666667,0.6555555555555557,0.6555555555555557,0.6555555555555557,0.6555555555555557,0.6388888888888888,0.6388888888888888,0.6388888888888888,0.5555555555555556,0.6666666666666667,0.6555555555555557,0.6555555555555557,0.5888888888888888,0.6555555555555557,0.8333333333333334,0.6833333333333333,0.6555555555555557,0.6833333333333333,0.8333333333333334,0.6111111111111112,0.8888888888888888,0.8333333333333334,0.9166666666666666,0.5555555555555556,0.6111111111111112,0.5555555555555556,0.6111111111111112,0.6388888888888888,0.6555555555555557,0.6555555555555557,0.5888888888888888,0.6388888888888888,0.5833333333333333,0.6111111111111112,0.6111111111111112,0.6555555555555557,0.8888888888888888,0.8666666666666667,0.6111111111111112,0.8055555555555556,0.7666666666666667,0.6944444444444444,0.6111111111111112,0.7777777777777778,0.6555555555555557,0.75,0.5555555555555556,0.6388888888888888,0.5888888888888888,0.8333333333333334,0.6111111111111112,0.5555555555555556,0.5166666666666666,0.6111111111111112,0.6833333333333333,0.6555555555555557,0.6388888888888888,0.6555555555555557,0.33333333333333337,0.6111111111111112,0.33333333333333337,0.33333333333333337,0.6666666666666667,0.6111111111111112,0.41666666666666663,0.7777777777777778,0.6000000000000001,0.5555555555555556,0.8055555555555556,0.2777777777777778,1.0,0.5833333333333333,0.5555555555555556,0.5555555555555556,0.6666666666666667,0.5,0.33333333333333337,0.16666666666666663,0.3666666666666667,0.0,0.5888888888888888,0.5888888888888888,0.8222222222222223,0.7222222222222222,0.8888888888888888,0.8055555555555556,0.5833333333333333,0.6666666666666667,0.33333333333333337,1.0,0.5555555555555556,0.5,0.11111111111111116,0.5555555555555556,0.5833333333333333,0.7,0.16666666666666663,0.5 +0.7166666666666667,0.6666666666666667,0.7166666666666667,0.9444444444444444,0.8571428571428571,0.7222222222222223,0.7222222222222223,0.9047619047619048,0.7222222222222223,0.6888888888888889,0.8,0.6888888888888889,0.9444444444444444,0.8055555555555556,0.8333333333333334,0.7222222222222223,0.6666666666666667,0.7222222222222223,0.7380952380952381,0.75,0.7222222222222223,0.75,1.0,0.9444444444444444,0.7777777777777778,1.0,0.8690476190476191,0.8222222222222223,0.9444444444444444,0.9444444444444444,0.9444444444444444,0.9523809523809523,0.7222222222222223,0.7222222222222223,0.6666666666666667,0.8888888888888888,0.6499999999999999,0.9444444444444444,0.9444444444444444,0.7222222222222223,0.9444444444444444,0.6666666666666667,0.9444444444444444,0.5555555555555556,0.6666666666666667,0.7738095238095238,0.9444444444444444,0.9444444444444444,0.7222222222222223,0.8055555555555556,0.9333333333333333,0.9523809523809523,0.6666666666666667,0.7222222222222222,0.9444444444444444,0.9333333333333333,0.5833333333333333,0.9444444444444444,0.75,0.7222222222222223,0.8611111111111112,0.7222222222222223,0.7833333333333333,0.85,0.28888888888888886,0.7555555555555555,0.6666666666666667,0.44444444444444453,0.3111111111111112,0.5595238095238095,0.6825396825396826,0.7222222222222223,0.8412698412698413,0.34444444444444444,1.0,0.8055555555555556,0.5666666666666667,0.4,0.9166666666666666,0.7,0.7833333333333333,0.4222222222222223,0.4444444444444444,0.5888888888888888,0.0,0.4444444444444444,0.5,0.7333333333333334,0.6666666666666667,0.8412698412698413,0.8,0.33333333333333337,0.6222222222222222,1.0,0.28888888888888886,0.8333333333333334,0.47777777777777775,0.5666666666666667,0.7833333333333333,0.6111111111111112,0.7555555555555555,0.6222222222222222 +0.8,0.6666666666666667,0.8,0.9444444444444444,0.7777777777777778,0.7333333333333334,0.7333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.8666666666666667,0.8,0.7333333333333334,0.7333333333333334,0.6666666666666667,0.7333333333333334,0.8333333333333334,0.7333333333333334,0.7333333333333334,0.7333333333333334,0.9333333333333333,0.8666666666666667,0.9444444444444444,0.9333333333333333,0.8888888888888888,0.9333333333333333,0.8666666666666667,0.9444444444444444,0.9444444444444444,0.9523809523809523,0.8333333333333334,0.8333333333333334,0.7777777777777778,0.8,0.7333333333333334,0.9444444444444444,0.8666666666666667,0.7333333333333334,0.9444444444444444,0.6666666666666667,0.8666666666666667,0.4666666666666667,0.7333333333333334,0.7777777777777778,0.8666666666666667,0.8666666666666667,0.7333333333333334,0.8888888888888888,0.9333333333333333,0.9523809523809523,0.6666666666666667,0.8,0.8666666666666667,0.9333333333333333,0.6222222222222222,0.9444444444444444,0.7333333333333334,0.7333333333333334,0.8666666666666667,0.8333333333333334,0.7555555555555555,0.8222222222222223,0.4,0.7,0.8333333333333334,0.7222222222222223,0.5888888888888888,0.47619047619047616,0.7936507936507936,0.8888888888888888,0.7857142857142857,0.5111111111111111,1.0,0.7777777777777778,0.4,0.06666666666666676,0.8888888888888888,0.5333333333333334,0.7555555555555555,0.5333333333333334,0.33333333333333337,0.5888888888888888,0.4444444444444444,0.0,0.6666666666666667,0.7333333333333334,0.8333333333333334,0.7857142857142857,0.8,0.6111111111111112,0.5666666666666667,1.0,0.4,0.8888888888888888,0.6444444444444444,0.4,0.7555555555555555,0.33333333333333337,0.7,0.5666666666666667 +0.7833333333333333,0.7222222222222223,0.7833333333333333,1.0,0.9047619047619048,0.7777777777777778,0.7777777777777778,0.9523809523809523,0.7777777777777778,0.7555555555555555,0.8666666666666667,0.7555555555555555,1.0,0.8611111111111112,0.8888888888888888,0.7777777777777778,0.7222222222222223,0.7777777777777778,0.7222222222222222,0.8055555555555556,0.7777777777777778,0.8055555555555556,1.0,1.0,0.7666666666666667,1.0,0.8611111111111112,0.8888888888888888,1.0,1.0,1.0,1.0,0.7777777777777778,0.7777777777777778,0.7222222222222223,0.9444444444444444,0.7166666666666667,1.0,1.0,0.7777777777777778,1.0,0.7222222222222223,1.0,0.5333333333333334,0.7222222222222222,0.8214285714285714,1.0,1.0,0.7777777777777778,0.7833333333333333,1.0,1.0,0.7222222222222223,0.7,1.0,1.0,0.8055555555555556,1.0,0.8055555555555556,0.7777777777777778,0.9166666666666666,0.7777777777777778,0.85,0.9166666666666666,0.6888888888888889,0.48888888888888893,1.0,0.7777777777777778,0.7111111111111111,0.7738095238095238,0.7301587301587302,0.8888888888888888,0.7555555555555555,0.5777777777777777,1.0,0.7833333333333333,0.6333333333333333,0.6333333333333333,0.9166666666666666,0.7666666666666667,0.85,0.8222222222222223,0.6666666666666667,0.8222222222222223,0.5,0.6666666666666667,0.0,0.8,0.6666666666666667,0.8333333333333334,0.8666666666666667,0.6444444444444444,0.6888888888888889,1.0,0.6888888888888889,1.0,0.7111111111111111,0.6333333333333333,0.85,0.6666666666666667,0.8222222222222223,0.6888888888888889 +0.5833333333333333,0.5666666666666667,0.5833333333333333,0.9333333333333333,0.8333333333333334,0.6333333333333333,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.7666666666666667,0.7,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.6333333333333333,0.6333333333333333,0.75,0.7666666666666667,0.6000000000000001,0.75,0.9444444444444444,0.75,0.7666666666666667,0.7666666666666667,0.7666666666666667,0.7777777777777778,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.7,0.5,0.7666666666666667,0.7666666666666667,0.6333333333333333,0.9333333333333333,0.7333333333333334,0.7666666666666667,0.8666666666666667,0.6333333333333333,0.6666666666666667,0.7666666666666667,0.9333333333333333,0.6333333333333333,0.7,0.75,0.7777777777777778,0.5666666666666667,0.7,0.7666666666666667,0.75,0.6888888888888889,0.7666666666666667,0.6333333333333333,0.6333333333333333,0.7666666666666667,0.6333333333333333,0.5,0.9166666666666666,0.6666666666666667,0.8333333333333334,1.0,1.0,0.8333333333333334,0.7777777777777778,0.7777777777777778,0.8888888888888888,0.9444444444444444,0.5555555555555556,1.0,0.5333333333333334,0.33333333333333337,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.8333333333333334,0.6222222222222222,0.7222222222222222,0.7333333333333334,0.7333333333333334,0.8,0.0,1.0,0.7777777777777778,0.41666666666666663,0.8666666666666667,0.5,1.0,0.6666666666666667,0.8888888888888888,0.7222222222222222,0.33333333333333337,0.8333333333333334,0.7333333333333334,0.6666666666666667,0.5 +0.9166666666666666,0.8888888888888888,0.9166666666666666,1.0,1.0,0.8888888888888888,0.8888888888888888,1.0,0.8888888888888888,0.8888888888888888,1.0,0.8888888888888888,1.0,0.9166666666666666,1.0,0.8888888888888888,0.8888888888888888,0.8888888888888888,0.8333333333333334,0.9166666666666666,0.8888888888888888,0.9166666666666666,1.0,1.0,0.8333333333333334,1.0,0.5833333333333333,0.8888888888888888,1.0,1.0,1.0,1.0,0.8888888888888888,0.8888888888888888,0.8888888888888888,1.0,0.9166666666666666,1.0,1.0,0.8888888888888888,1.0,0.5555555555555556,1.0,0.6666666666666667,0.8333333333333334,0.9166666666666666,1.0,1.0,0.8888888888888888,0.9166666666666666,1.0,1.0,0.8888888888888888,0.8333333333333334,1.0,1.0,0.9166666666666666,1.0,0.9166666666666666,0.8888888888888888,0.9166666666666666,0.8888888888888888,0.9166666666666666,0.9166666666666666,0.8888888888888888,0.8888888888888888,1.0,0.7777777777777778,0.7777777777777778,0.9166666666666666,0.7777777777777778,0.8888888888888888,0.8888888888888888,0.7777777777777778,1.0,0.9166666666666666,0.8333333333333334,0.8333333333333334,0.9166666666666666,0.8333333333333334,0.9166666666666666,0.8888888888888888,0.8333333333333334,0.8888888888888888,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.0,0.8888888888888888,1.0,0.7777777777777778,0.8888888888888888,1.0,0.8888888888888888,1.0,0.7777777777777778,0.8333333333333334,0.5833333333333333,0.8333333333333334,0.8888888888888888,0.8888888888888888 +0.9166666666666666,0.9523809523809523,0.9166666666666666,0.8888888888888888,0.8412698412698413,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9166666666666666,0.8888888888888888,1.0,0.9523809523809523,1.0,1.0,0.9166666666666666,1.0,0.9166666666666666,1.0,0.8888888888888888,0.8333333333333334,1.0,0.85,1.0,0.8888888888888888,1.0,0.8888888888888888,1.0,1.0,1.0,0.9523809523809523,0.8888888888888888,0.8611111111111112,0.8888888888888888,0.8888888888888888,1.0,0.8333333333333334,0.9523809523809523,0.8888888888888888,0.8222222222222223,1.0,0.9166666666666666,0.8888888888888888,0.8888888888888888,1.0,0.9166666666666666,0.8888888888888888,0.8888888888888888,0.9523809523809523,1.0,0.8888888888888888,0.8888888888888888,0.9166666666666666,0.8888888888888888,0.9166666666666666,1.0,0.9166666666666666,1.0,0.5277777777777779,0.7777777777777778,0.8333333333333334,0.8055555555555556,1.0,0.9166666666666666,0.6944444444444444,0.9583333333333334,0.9166666666666666,1.0,0.8222222222222223,0.8611111111111112,1.0,0.5444444444444445,0.6111111111111112,0.7777777777777778,0.6111111111111112,0.41666666666666663,0.5277777777777779,0.8055555555555556,0.7857142857142857,0.8055555555555556,0.8412698412698413,0.7857142857142857,0.8333333333333334,0.7777777777777778,0.8888888888888888,0.0,0.6833333333333333,0.85,0.8333333333333334,1.0,0.8333333333333334,1.0,0.8333333333333334,0.6111111111111112,0.6944444444444444,0.7857142857142857,0.8055555555555556,0.5 +0.5,0.55,0.5,0.6944444444444444,0.7166666666666667,0.6166666666666667,0.6166666666666667,0.6166666666666667,0.6166666666666667,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.6388888888888888,0.6000000000000001,0.47777777777777775,0.6166666666666667,0.55,0.6166666666666667,0.7777777777777778,0.5333333333333334,0.6166666666666667,0.5333333333333334,0.8333333333333334,0.5277777777777779,0.6666666666666667,0.8333333333333334,0.8666666666666667,0.6388888888888888,0.5277777777777779,0.6388888888888888,0.5277777777777779,0.6833333333333333,0.6166666666666667,0.6166666666666667,0.55,0.44444444444444453,0.41666666666666663,0.5277777777777779,0.5277777777777779,0.6166666666666667,0.8055555555555556,0.8,0.5277777777777779,0.8333333333333334,0.7,0.5555555555555556,0.5277777777777779,0.6944444444444444,0.6166666666666667,0.6000000000000001,0.5,0.5444444444444445,0.55,0.7666666666666667,0.5277777777777779,0.5,0.5888888888888888,0.5277777777777779,0.5333333333333334,0.6166666666666667,0.5833333333333333,0.6166666666666667,0.2777777777777777,0.7222222222222222,0.6666666666666667,0.6944444444444444,0.8888888888888888,0.9333333333333333,0.711111111111111,0.8333333333333334,0.6888888888888889,0.8055555555555556,0.9333333333333333,0.5722222222222222,1.0,0.33333333333333337,0.41666666666666663,0.75,0.5,0.6111111111111112,0.2777777777777777,0.6944444444444444,0.6888888888888889,0.5833333333333333,0.8,0.8,0.8666666666666667,0.41666666666666663,1.0,0.6833333333333333,0.0,0.9333333333333333,0.5,1.0,0.75,0.7777777777777778,0.6000000000000001,0.41666666666666663,0.711111111111111,0.8,0.5277777777777777,0.5 +0.8666666666666667,0.8055555555555556,0.8666666666666667,1.0,0.8690476190476191,0.8611111111111112,0.8611111111111112,1.0,0.8611111111111112,0.85,0.9333333333333333,0.85,1.0,0.8666666666666667,0.9444444444444444,0.8611111111111112,0.8055555555555556,0.8611111111111112,0.8333333333333334,0.8777777777777778,0.8611111111111112,0.8777777777777778,1.0,1.0,0.8055555555555556,1.0,0.7666666666666667,0.9166666666666666,1.0,1.0,1.0,1.0,0.8611111111111112,0.8611111111111112,0.8055555555555556,1.0,0.7999999999999999,1.0,1.0,0.8611111111111112,1.0,0.6666666666666667,1.0,0.7111111111111111,0.8333333333333334,0.8857142857142857,1.0,1.0,0.8611111111111112,0.8666666666666667,1.0,1.0,0.8055555555555556,0.8222222222222223,1.0,1.0,0.711111111111111,1.0,0.8777777777777778,0.8611111111111112,0.9333333333333333,0.8611111111111112,0.85,0.9333333333333333,0.45000000000000007,0.8333333333333334,0.6666666666666667,0.5,0.41666666666666663,0.6714285714285715,0.8333333333333334,0.75,0.85,0.5333333333333334,1.0,0.8666666666666667,0.7555555555555555,0.5888888888888888,0.9333333333333333,0.8055555555555556,0.85,0.5,0.6111111111111112,0.6666666666666667,0.33333333333333337,0.6111111111111112,0.6444444444444444,0.8666666666666667,0.7777777777777778,0.85,0.9333333333333333,0.0,0.7833333333333333,1.0,0.3111111111111112,0.8333333333333334,0.5833333333333333,0.7555555555555555,0.75,0.7777777777777778,0.8333333333333334,0.7833333333333333 +0.33333333333333337,0.28888888888888886,0.33333333333333337,0.8222222222222223,0.8333333333333334,0.3555555555555555,0.3555555555555555,0.4444444444444444,0.3555555555555555,0.30555555555555547,0.30555555555555547,0.30555555555555547,0.43333333333333335,0.45000000000000007,0.3555555555555555,0.3555555555555555,0.28888888888888886,0.3555555555555555,0.5555555555555556,0.3833333333333333,0.3555555555555555,0.3833333333333333,0.6666666666666667,0.48888888888888893,0.7666666666666667,0.6666666666666667,0.9444444444444444,0.4722222222222222,0.48888888888888893,0.43333333333333335,0.48888888888888893,0.5,0.3555555555555555,0.3555555555555555,0.28888888888888886,0.4222222222222223,0.25,0.48888888888888893,0.48888888888888893,0.3555555555555555,0.9333333333333333,0.7333333333333334,0.48888888888888893,0.7555555555555555,0.4666666666666667,0.41666666666666663,0.48888888888888893,0.8222222222222223,0.3555555555555555,0.45000000000000007,0.4722222222222222,0.5,0.28888888888888886,0.5333333333333334,0.48888888888888893,0.4722222222222222,0.55,0.48888888888888893,0.3833333333333333,0.3555555555555555,0.5166666666666666,0.3555555555555555,0.44444444444444453,0.6944444444444444,0.33333333333333337,0.5,0.8333333333333334,0.7777777777777778,0.75,0.7777777777777778,0.5,0.7222222222222223,0.8333333333333334,0.2777777777777778,1.0,0.47777777777777775,0.33333333333333337,0.5,0.6111111111111112,0.6666666666666667,0.44444444444444453,0.5,0.4,0.33333333333333337,0.6222222222222222,0.5666666666666667,0.6888888888888889,0.5,0.8888888888888888,0.8333333333333334,0.5,0.7833333333333333,0.0,1.0,0.5555555555555556,0.6666666666666667,0.44444444444444453,0.33333333333333337,0.75,0.5666666666666667,0.16666666666666663,0.33333333333333337 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.9444444444444444,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.75,0.7333333333333334,0.75,0.9333333333333333,0.7222222222222223,0.8,0.8,0.8888888888888888,0.8,0.75,0.75,0.75,0.9333333333333333,0.8666666666666667,0.8,0.8,0.7333333333333334,0.8,0.8888888888888888,0.8,0.8,0.8,1.0,0.9333333333333333,0.9333333333333333,1.0,0.8611111111111112,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9444444444444444,0.8,0.8,0.7333333333333334,0.8666666666666667,0.6666666666666667,0.9333333333333333,0.9333333333333333,0.8,0.9333333333333333,0.6222222222222222,0.9333333333333333,0.7555555555555555,0.8,0.8333333333333334,0.9333333333333333,0.9333333333333333,0.8,0.8666666666666667,0.9166666666666666,0.9444444444444444,0.7333333333333334,0.8666666666666667,0.9333333333333333,0.9166666666666666,0.6333333333333333,0.9333333333333333,0.8,0.8,0.9333333333333333,0.8,0.75,0.8333333333333334,0.2222222222222222,0.7222222222222223,0.6666666666666667,0.5833333333333333,0.41666666666666663,0.6111111111111112,0.8055555555555556,0.8333333333333334,0.8333333333333334,0.41666666666666663,1.0,0.7833333333333333,0.5,0.33333333333333337,0.9166666666666666,0.6666666666666667,0.75,0.38888888888888895,0.4,0.5555555555555556,0.28888888888888886,0.4,0.6888888888888889,0.6666666666666667,0.8888888888888888,0.8333333333333334,0.75,0.3111111111111112,0.5555555555555556,1.0,0.0,0.8333333333333334,0.5833333333333333,0.5,0.6111111111111112,0.5666666666666667,0.7222222222222223,0.5555555555555556 +0.7222222222222223,0.6666666666666667,0.7222222222222223,0.8333333333333334,1.0,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.7222222222222223,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.7222222222222223,0.6666666666666667,0.7222222222222223,0.8333333333333334,0.6666666666666667,0.8888888888888888,0.8333333333333334,1.0,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.7222222222222223,0.6666666666666667,0.6666666666666667,0.6666666666666667,1.0,1.0,0.6666666666666667,1.0,0.8333333333333334,0.7222222222222223,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.7222222222222223,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.5555555555555556,0.6666666666666667,0.7222222222222223,0.6666666666666667,0.7222222222222223,0.6666666666666667,0.7777777777777778,0.8888888888888888,0.6666666666666667,0.8333333333333334,0.25,0.5833333333333334,0.8333333333333334,0.8888888888888888,0.7777777777777778,0.25,1.0,0.5555555555555556,1.0,0.7777777777777778,0.8888888888888888,0.8888888888888888,0.6666666666666666,1.0,0.7777777777777778,0.6666666666666667,0.6666666666666667,0.5,0.8333333333333334,0.8888888888888888,1.0,0.8888888888888888,1.0,1.0,0.7777777777777778,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,0.0,0.5555555555555556,0.8888888888888888,1.0,1.0,0.6666666666666667,0.8333333333333334 +0.5833333333333333,0.47777777777777775,0.5833333333333333,0.8055555555555556,0.8666666666666667,0.5444444444444445,0.5444444444444445,0.6833333333333333,0.5444444444444445,0.5277777777777779,0.6666666666666667,0.5277777777777779,0.6111111111111112,0.5833333333333333,0.6833333333333333,0.5444444444444445,0.47777777777777775,0.5444444444444445,0.7222222222222223,0.6000000000000001,0.5444444444444445,0.6000000000000001,0.8333333333333334,0.6388888888888888,0.7777777777777778,0.8333333333333334,0.85,0.44444444444444453,0.6388888888888888,0.6111111111111112,0.6388888888888888,0.6666666666666667,0.5444444444444445,0.5444444444444445,0.47777777777777775,0.6666666666666667,0.5,0.6388888888888888,0.6388888888888888,0.5444444444444445,0.8888888888888888,0.7833333333333333,0.6388888888888888,0.6944444444444444,0.6555555555555557,0.6111111111111112,0.6388888888888888,0.8055555555555556,0.5444444444444445,0.6666666666666667,0.5833333333333333,0.6666666666666667,0.47777777777777775,0.7222222222222223,0.6388888888888888,0.5833333333333333,0.43333333333333335,0.6388888888888888,0.6000000000000001,0.5444444444444445,0.5555555555555556,0.5444444444444445,0.38888888888888884,0.6666666666666667,0.44444444444444453,0.44444444444444453,0.7222222222222223,0.5,0.33333333333333337,0.711111111111111,0.48888888888888893,0.44444444444444453,0.8333333333333334,0.16666666666666663,1.0,0.6388888888888888,0.6111111111111112,0.6111111111111112,0.7222222222222222,0.5555555555555556,0.38888888888888884,0.2777777777777778,0.4222222222222223,0.11111111111111116,0.47777777777777775,0.6444444444444444,0.7111111111111111,0.7222222222222222,0.7777777777777778,0.8333333333333334,0.6000000000000001,0.5833333333333333,0.44444444444444453,1.0,0.5833333333333333,0.5555555555555556,0.0,0.6111111111111112,0.6000000000000001,0.7555555555555555,0.2777777777777778,0.6111111111111112 +0.5833333333333333,0.5666666666666667,0.5833333333333333,0.9333333333333333,0.8333333333333334,0.6333333333333333,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.5833333333333333,0.5833333333333333,0.5833333333333333,0.7666666666666667,0.7,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.6333333333333333,0.7222222222222222,0.6333333333333333,0.6333333333333333,0.6333333333333333,0.8333333333333334,0.7666666666666667,0.6000000000000001,0.8333333333333334,0.9444444444444444,0.75,0.7666666666666667,0.7666666666666667,0.7666666666666667,0.7777777777777778,0.6333333333333333,0.6333333333333333,0.5666666666666667,0.7,0.5,0.7666666666666667,0.7666666666666667,0.6333333333333333,0.9333333333333333,0.7333333333333334,0.7666666666666667,0.7,0.6333333333333333,0.6666666666666667,0.7666666666666667,0.9333333333333333,0.6333333333333333,0.7,0.75,0.7777777777777778,0.5666666666666667,0.7,0.7666666666666667,0.75,0.6888888888888889,0.7666666666666667,0.6333333333333333,0.6333333333333333,0.7666666666666667,0.6333333333333333,0.38888888888888895,0.8055555555555556,0.5,0.6666666666666667,1.0,0.8888888888888888,0.7222222222222223,0.7777777777777778,0.6666666666666667,0.8888888888888888,0.7777777777777778,0.4444444444444444,1.0,0.4222222222222223,0.0,0.33333333333333337,0.5555555555555556,0.33333333333333337,0.38888888888888895,0.6666666666666667,0.28888888888888886,0.5555555555555556,0.5666666666666667,0.4,0.6333333333333333,0.33333333333333337,0.8333333333333334,0.6111111111111112,0.41666666666666663,0.7555555555555555,0.33333333333333337,1.0,0.5,0.8888888888888888,0.6111111111111112,0.0,0.7222222222222223,0.4,0.5,0.33333333333333337 +0.85,0.8666666666666667,0.85,0.8055555555555556,0.6444444444444444,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9333333333333333,0.9166666666666666,0.9166666666666666,0.9166666666666666,0.8888888888888888,0.85,0.85,0.9333333333333333,0.8666666666666667,0.9333333333333333,1.0,0.8666666666666667,0.9333333333333333,0.8666666666666667,1.0,0.8055555555555556,1.0,1.0,0.41666666666666663,0.8333333333333334,0.8055555555555556,0.8888888888888888,0.8055555555555556,0.9166666666666666,0.9333333333333333,0.9333333333333333,0.8666666666666667,0.8333333333333334,0.7666666666666667,0.8055555555555556,0.8055555555555556,0.9333333333333333,0.7777777777777778,0.45000000000000007,0.8055555555555556,0.8333333333333334,0.9333333333333333,0.8777777777777778,0.8055555555555556,0.8055555555555556,0.9333333333333333,0.9333333333333333,0.75,0.8333333333333334,0.8666666666666667,1.0,0.8055555555555556,0.75,0.8666666666666667,0.8055555555555556,0.8666666666666667,0.9333333333333333,0.8222222222222222,0.9333333333333333,0.5,0.6666666666666667,0.75,0.5833333333333333,1.0,0.9333333333333333,0.5,0.8888888888888888,0.8666666666666667,1.0,0.8333333333333334,0.7666666666666667,1.0,0.75,0.7222222222222223,0.7222222222222223,0.8333333333333334,0.5555555555555556,0.5,0.5833333333333333,0.7555555555555555,0.5833333333333333,0.7833333333333333,0.7555555555555555,0.85,0.8333333333333334,0.5833333333333333,0.6944444444444444,0.711111111111111,0.75,0.75,1.0,0.6111111111111112,1.0,0.6000000000000001,0.7222222222222223,0.0,0.7555555555555555,0.5833333333333333,0.75 +0.8,0.7777777777777778,0.8,0.9444444444444444,0.8571428571428571,0.8333333333333334,0.8333333333333334,0.9047619047619048,0.8333333333333334,0.8,0.8,0.8,0.9444444444444444,0.8888888888888888,0.8333333333333334,0.8333333333333334,0.7777777777777778,0.8333333333333334,0.9047619047619048,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,0.9444444444444444,0.9444444444444444,1.0,0.9523809523809523,0.9333333333333333,0.9444444444444444,0.9444444444444444,0.9444444444444444,0.9523809523809523,0.8333333333333334,0.8333333333333334,0.7777777777777778,0.8888888888888888,0.7333333333333334,0.9444444444444444,0.9444444444444444,0.8333333333333334,0.9444444444444444,0.7777777777777778,0.9444444444444444,0.5555555555555556,0.8333333333333334,0.8571428571428571,0.9444444444444444,0.9444444444444444,0.8333333333333334,0.8888888888888888,0.9333333333333333,0.9523809523809523,0.7777777777777778,0.8888888888888888,0.9444444444444444,0.9333333333333333,0.8333333333333334,0.9444444444444444,0.8333333333333334,0.8333333333333334,0.9444444444444444,0.8333333333333334,0.7555555555555555,0.8222222222222223,0.5666666666666667,0.7,1.0,0.8888888888888888,0.7555555555555555,0.6984126984126984,0.6825396825396826,1.0,0.7857142857142857,0.6222222222222222,1.0,0.7777777777777778,0.4,0.28888888888888886,0.8888888888888888,0.5333333333333334,0.7555555555555555,0.7,0.4444444444444444,0.7,0.6111111111111112,0.33333333333333337,0.6666666666666667,0.7333333333333334,0.8333333333333334,0.7857142857142857,0.8,0.7777777777777778,0.5666666666666667,1.0,0.5666666666666667,1.0,0.7555555555555555,0.4,0.7555555555555555,0.0,0.7,0.5666666666666667 +0.5,0.4222222222222223,0.5,0.7777777777777778,0.8666666666666667,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.48888888888888893,0.4722222222222222,0.4722222222222222,0.4722222222222222,0.38888888888888884,0.5,0.48888888888888893,0.48888888888888893,0.4222222222222223,0.48888888888888893,0.6666666666666667,0.5166666666666666,0.48888888888888893,0.5166666666666666,0.6666666666666667,0.4444444444444444,0.8333333333333334,0.6666666666666667,0.9166666666666666,0.38888888888888895,0.4444444444444444,0.38888888888888884,0.4444444444444444,0.4722222222222222,0.48888888888888893,0.48888888888888893,0.4222222222222223,0.4722222222222222,0.41666666666666663,0.4444444444444444,0.4444444444444444,0.48888888888888893,0.8888888888888888,0.8666666666666667,0.4444444444444444,0.8055555555555556,0.6000000000000001,0.5277777777777779,0.4444444444444444,0.7777777777777778,0.48888888888888893,0.5833333333333333,0.38888888888888895,0.4722222222222222,0.4222222222222223,0.6666666666666667,0.4444444444444444,0.38888888888888895,0.6833333333333333,0.4444444444444444,0.5166666666666666,0.48888888888888893,0.4722222222222222,0.48888888888888893,0.2777777777777778,0.6111111111111112,0.5,0.33333333333333337,0.8333333333333334,0.7777777777777778,0.5833333333333333,0.8888888888888888,0.5444444444444445,0.7222222222222223,0.8055555555555556,0.44444444444444453,1.0,0.5277777777777779,0.5,0.6666666666666667,0.6111111111111112,0.5,0.2777777777777778,0.33333333333333337,0.5333333333333334,0.16666666666666663,0.7555555555555555,0.7,0.8222222222222223,0.6666666666666667,0.8888888888888888,0.8055555555555556,0.5277777777777777,0.8333333333333334,0.16666666666666663,1.0,0.7222222222222223,0.6666666666666667,0.2777777777777778,0.5,0.5833333333333333,0.7,0.0,0.5 +0.6666666666666667,0.6222222222222222,0.6666666666666667,0.8222222222222223,0.8333333333333334,0.6888888888888889,0.6888888888888889,0.7777777777777778,0.6888888888888889,0.6388888888888888,0.6388888888888888,0.6388888888888888,0.7666666666666667,0.7833333333333333,0.6888888888888889,0.6888888888888889,0.6222222222222222,0.6888888888888889,0.8888888888888888,0.7166666666666667,0.6888888888888889,0.7166666666666667,1.0,0.8222222222222223,0.7666666666666667,1.0,0.9444444444444444,0.8055555555555556,0.8222222222222223,0.7666666666666667,0.8222222222222223,0.8333333333333334,0.6888888888888889,0.6888888888888889,0.6222222222222222,0.7555555555555555,0.5833333333333333,0.8222222222222223,0.8222222222222223,0.6888888888888889,0.9333333333333333,0.7333333333333334,0.8222222222222223,0.7555555555555555,0.8,0.75,0.8222222222222223,0.8222222222222223,0.6888888888888889,0.7833333333333333,0.8055555555555556,0.8333333333333334,0.6222222222222222,0.8666666666666667,0.8222222222222223,0.8055555555555556,0.7166666666666667,0.8222222222222223,0.7166666666666667,0.6888888888888889,0.85,0.6888888888888889,0.44444444444444453,0.6944444444444444,0.33333333333333337,0.5,0.8333333333333334,0.7777777777777778,0.75,0.7777777777777778,0.6666666666666667,0.8888888888888888,0.8333333333333334,0.44444444444444453,1.0,0.47777777777777775,0.33333333333333337,0.5,0.6111111111111112,0.33333333333333337,0.44444444444444453,0.5,0.5666666666666667,0.5,0.6222222222222222,0.5666666666666667,0.6888888888888889,0.5,0.8888888888888888,0.5,0.5,0.7833333333333333,0.33333333333333337,1.0,0.5555555555555556,0.8333333333333334,0.6111111111111112,0.33333333333333337,0.75,0.5666666666666667,0.5,0.0 diff --git a/SQLFeatureExtraction/data/ub_Aouiche.csv b/SQLFeatureExtraction/data/ub_Aouiche.csv new file mode 100644 index 0000000..6ebdbe4 --- /dev/null +++ b/SQLFeatureExtraction/data/ub_Aouiche.csv @@ -0,0 +1,102 @@ +0.0,0.4,0.0,0.75,0.6666666666666667,0.25,0.25,0.6,0.25,0.0,0.0,0.0,0.75,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.75,0.75,0.25,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.8,0.25,0.25,0.4,0.5,0.25,0.75,0.75,0.25,0.75,0.4,0.75,0.8333333333333334,0.25,0.4,0.75,0.75,0.25,0.25,0.6666666666666667,0.8,0.4,0.25,0.75,0.6666666666666667,0.4,0.75,0.25,0.25,0.75,0.25,0.5,0.6666666666666667,0.4,0.8,1.0,1.0,0.8,0.5714285714285714,0.4,0.75,1.0,0.4,1.0,0.6,0.25,0.5,0.33333333333333337,0.5,0.5,0.8,0.5,0.8,0.5,0.5714285714285714,0.6666666666666667,0.25,1.0,0.8333333333333334,0.5,0.8333333333333334,0.25,1.0,0.4,0.75,0.8,0.25,0.75,0.5,0.75,0.25 +0.4,0.0,0.4,0.8333333333333334,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.0,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.4,0.19999999999999996,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.0,0.6,0.5,0.19999999999999996,0.33333333333333337,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.0,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.4,0.8,0.33333333333333337,0.6666666666666667,1.0,1.0,0.6666666666666667,0.5,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.33333333333333337,1.0,0.5,0.19999999999999996,0.4285714285714286,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.7142857142857143,0.19999999999999996,1.0,0.33333333333333337,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.0,0.4,0.0,0.75,0.6666666666666667,0.25,0.25,0.6,0.25,0.0,0.0,0.0,0.75,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.75,0.75,0.25,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.8,0.25,0.25,0.4,0.5,0.25,0.75,0.75,0.25,0.75,0.4,0.75,0.8333333333333334,0.25,0.4,0.75,0.75,0.25,0.25,0.6666666666666667,0.8,0.4,0.25,0.75,0.6666666666666667,0.4,0.75,0.25,0.25,0.75,0.25,0.5,0.6666666666666667,0.4,0.8,1.0,1.0,0.8,0.5714285714285714,0.4,0.75,1.0,0.4,1.0,0.6,0.25,0.5,0.33333333333333337,0.5,0.5,0.8,0.5,0.8,0.5,0.5714285714285714,0.6666666666666667,0.25,1.0,0.8333333333333334,0.5,0.8333333333333334,0.25,1.0,0.4,0.75,0.8,0.25,0.75,0.5,0.75,0.25 +0.75,0.8333333333333334,0.75,0.0,0.8333333333333334,0.8,0.8,0.8,0.5,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.5,0.8,0.6,0.75,0.8,0.0,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.33333333333333337,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.0,0.8,0.8,0.6666666666666667,0.5,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.6666666666666667,0.33333333333333337,0.6666666666666667,0.8333333333333334,0.0,0.5,0.5,0.5,0.7142857142857143,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6,0.6666666666666667,0.5,0.5,0.33333333333333337,0.5,0.5714285714285714,0.5,0.5,0.5,0.6,0.6,0.7142857142857143,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.7142857142857143,0.7142857142857143,0.5714285714285714,0.4,0.5,0.8333333333333334,0.6,0.5,0.8333333333333334,0.33333333333333337,0.6,0.5,0.5,0.5714285714285714,0.6,0.6,0.5,0.7142857142857143,0.8,0.6666666666666667,0.33333333333333337,0.5,0.6,0.8,0.5714285714285714,0.8333333333333334,0.5,0.5,0.6,0.7142857142857143,0.4,0.8,0.5714285714285714,0.6666666666666667,1.0,1.0,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.8571428571428572,0.5714285714285714,1.0,0.5,0.5,0.625,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.625,0.5,0.75,0.5,0.8333333333333334,0.7142857142857143,0.4,0.875,0.5,1.0,0.5714285714285714,0.8333333333333334,0.6666666666666667,0.5,0.6,0.625,0.6,0.5 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.6,0.5,0.6,0.8,0.5,0.4,0.4,0.0,0.6666666666666667,0.6,0.6,0.6,0.5,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.5,0.5,0.6666666666666667,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.7142857142857143,0.25,0.6666666666666667,0.8,0.5,0.4,0.8,0.5,0.5,0.6666666666666667,0.4,0.5,0.5,0.5,0.4,0.6666666666666667,0.75,0.8333333333333334,0.5,0.4,0.5,0.75,0.5,0.8,0.4,0.4,0.5,0.6666666666666667,0.6,0.75,0.7142857142857143,0.8333333333333334,1.0,1.0,0.8333333333333334,0.7777777777777778,0.7142857142857143,0.8,1.0,0.7142857142857143,1.0,0.6666666666666667,0.6666666666666667,0.75,0.5,0.6,0.6,0.8333333333333334,0.75,0.8333333333333334,0.75,0.625,0.875,0.6666666666666667,1.0,0.8571428571428572,0.6,1.0,0.6666666666666667,1.0,0.7142857142857143,0.8,0.8333333333333334,0.6666666666666667,0.8,0.75,0.8,0.6666666666666667 +0.25,0.5,0.25,0.5,0.7142857142857143,0.4,0.4,0.6666666666666667,0.0,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,1.0,0.75,0.8,0.8,0.8,0.6,0.0,0.4,0.19999999999999996,0.6,0.4,0.5,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.6,0.5,0.4,0.8,0.75,0.5,0.5,0.4,0.4,0.8,0.0,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.0,0.4,0.0,0.75,0.6666666666666667,0.25,0.25,0.6,0.25,0.0,0.0,0.0,0.75,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.75,0.75,0.25,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.8,0.25,0.25,0.4,0.5,0.25,0.75,0.75,0.25,0.75,0.4,0.75,0.8333333333333334,0.25,0.4,0.75,0.75,0.25,0.25,0.6666666666666667,0.8,0.4,0.25,0.75,0.6666666666666667,0.4,0.75,0.25,0.25,0.75,0.25,0.5,0.6666666666666667,0.4,0.8,1.0,1.0,0.8,0.5714285714285714,0.4,0.75,1.0,0.4,1.0,0.6,0.25,0.5,0.33333333333333337,0.5,0.5,0.8,0.5,0.8,0.5,0.5714285714285714,0.6666666666666667,0.25,1.0,0.8333333333333334,0.5,0.8333333333333334,0.25,1.0,0.4,0.75,0.8,0.25,0.75,0.5,0.75,0.25 +0.0,0.4,0.0,0.75,0.6666666666666667,0.25,0.25,0.6,0.25,0.0,0.0,0.0,0.75,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.75,0.75,0.25,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.8,0.25,0.25,0.4,0.5,0.25,0.75,0.75,0.25,0.75,0.4,0.75,0.8333333333333334,0.25,0.4,0.75,0.75,0.25,0.25,0.6666666666666667,0.8,0.4,0.25,0.75,0.6666666666666667,0.4,0.75,0.25,0.25,0.75,0.25,0.5,0.6666666666666667,0.4,0.8,1.0,1.0,0.8,0.5714285714285714,0.4,0.75,1.0,0.4,1.0,0.6,0.25,0.5,0.33333333333333337,0.5,0.5,0.8,0.5,0.8,0.5,0.5714285714285714,0.6666666666666667,0.25,1.0,0.8333333333333334,0.5,0.8333333333333334,0.25,1.0,0.4,0.75,0.8,0.25,0.75,0.5,0.75,0.25 +0.0,0.4,0.0,0.75,0.6666666666666667,0.25,0.25,0.6,0.25,0.0,0.0,0.0,0.75,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.75,0.75,0.25,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.8,0.25,0.25,0.4,0.5,0.25,0.75,0.75,0.25,0.75,0.4,0.75,0.8333333333333334,0.25,0.4,0.75,0.75,0.25,0.25,0.6666666666666667,0.8,0.4,0.25,0.75,0.6666666666666667,0.4,0.75,0.25,0.25,0.75,0.25,0.5,0.6666666666666667,0.4,0.8,1.0,1.0,0.8,0.5714285714285714,0.4,0.75,1.0,0.4,1.0,0.6,0.25,0.5,0.33333333333333337,0.5,0.5,0.8,0.5,0.8,0.5,0.5714285714285714,0.6666666666666667,0.25,1.0,0.8333333333333334,0.5,0.8333333333333334,0.25,1.0,0.4,0.75,0.8,0.25,0.75,0.5,0.75,0.25 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.5,0.4,0.5,0.75,0.6666666666666667,0.25,0.25,0.6,0.6,0.5,0.5,0.5,0.33333333333333337,0.0,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.33333333333333337,0.33333333333333337,0.6,0.33333333333333337,0.8,0.6666666666666667,0.33333333333333337,0.75,0.75,0.8,0.6,0.6,0.6666666666666667,0.5,0.6,0.75,0.33333333333333337,0.25,0.75,0.4,0.33333333333333337,0.8333333333333334,0.25,0.4,0.33333333333333337,0.33333333333333337,0.25,0.6,0.6666666666666667,0.8,0.4,0.25,0.33333333333333337,0.6666666666666667,0.4,0.75,0.25,0.25,0.33333333333333337,0.6,0.8,0.6666666666666667,0.6666666666666667,0.8,1.0,1.0,0.8,0.75,0.6666666666666667,0.75,1.0,0.6666666666666667,1.0,0.8333333333333334,0.6,0.7142857142857143,0.75,0.8,0.8,0.8,0.7142857142857143,0.8,0.7142857142857143,0.5714285714285714,0.8571428571428572,0.6,1.0,1.0,0.8,0.8333333333333334,0.6,1.0,0.6666666666666667,0.75,0.8,0.6,0.75,0.7142857142857143,0.75,0.6 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.4,0.0,0.4,0.8333333333333334,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.0,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.4,0.19999999999999996,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.0,0.6,0.5,0.19999999999999996,0.33333333333333337,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.0,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.4,0.8,0.33333333333333337,0.6666666666666667,1.0,1.0,0.6666666666666667,0.5,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.33333333333333337,1.0,0.5,0.19999999999999996,0.4285714285714286,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.7142857142857143,0.19999999999999996,1.0,0.33333333333333337,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.0,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.5714285714285714,0.4,0.5,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.33333333333333337,0.6,0.7142857142857143,0.19999999999999996,0.0,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.33333333333333337,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.6666666666666667,0.8,0.5714285714285714,0.8571428571428572,1.0,1.0,0.8571428571428572,0.6666666666666667,0.5714285714285714,0.8333333333333334,1.0,0.5714285714285714,1.0,0.7142857142857143,0.5,0.625,0.6,0.6666666666666667,0.6666666666666667,0.8571428571428572,0.625,0.8571428571428572,0.625,0.5,0.75,0.5,1.0,0.875,0.6666666666666667,0.875,0.5,1.0,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.5,0.8333333333333334,0.625,0.8333333333333334,0.5 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.25,0.5,0.25,0.8,0.7142857142857143,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.0,0.8,1.0,0.75,0.8,0.5,0.5,0.8333333333333334,0.4,0.0,0.5,0.6,0.4,0.8,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.0,0.75,0.8333333333333334,0.5,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +1.0,0.6666666666666667,1.0,1.0,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,1.0,1.0,1.0,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,1.0,0.75,0.0,1.0,0.75,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,0.8,0.8333333333333334,1.0,0.75,0.8333333333333334,1.0,0.6666666666666667,0.75,0.6,0.8333333333333334,0.6666666666666667,0.75,0.75,0.8333333333333334,1.0,1.0,1.0,0.6666666666666667,0.8333333333333334,0.75,1.0,0.8571428571428572,1.0,0.8333333333333334,0.8333333333333334,0.75,1.0,0.8,1.0,0.8571428571428572,0.8,1.0,1.0,0.8,0.8888888888888888,1.0,1.0,0.8,0.8571428571428572,1.0,0.8333333333333334,0.8333333333333334,0.875,1.0,0.8,0.8,0.8,0.875,0.8,0.875,0.75,0.8571428571428572,0.8333333333333334,0.75,0.8333333333333334,0.8,0.8333333333333334,0.8333333333333334,1.0,0.8571428571428572,1.0,0.8,0.8333333333333334,0.75,0.875,0.75,0.8333333333333334 +0.6666666666666667,0.8,0.6666666666666667,0.5,0.8,0.75,0.75,0.75,0.75,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.75,0.75,0.8,0.75,0.8,0.75,0.75,0.75,0.5,0.5,0.75,0.5,1.0,0.0,0.5,0.5,0.5,0.6666666666666667,0.75,0.75,0.8,0.6666666666666667,0.75,0.5,0.5,0.75,0.5,0.8,0.5,1.0,0.75,0.8,0.5,0.5,0.75,0.75,0.0,0.6666666666666667,0.8,0.75,0.5,0.0,0.8,0.5,0.75,0.75,0.5,0.75,0.6666666666666667,0.0,0.8,0.6666666666666667,1.0,1.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,0.75,0.75,0.8333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,0.75,1.0,1.0,0.6666666666666667,1.0,0.75,1.0,0.8,0.5,0.6666666666666667,0.75,0.5,0.8333333333333334,0.5,0.75 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.75,0.8333333333333334,0.75,0.6666666666666667,0.8333333333333334,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,1.0,0.5,0.6666666666666667,0.0,0.0,0.75,0.8,0.5,0.8333333333333334,0.75,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.5,0.5,0.75,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.75,0.8333333333333334,0.75,0.6666666666666667,0.8333333333333334,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,1.0,0.5,0.6666666666666667,0.0,0.0,0.75,0.8,0.5,0.8333333333333334,0.75,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.5,0.5,0.75,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.8,0.8571428571428572,0.8,0.33333333333333337,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.6,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.0,0.6,0.8333333333333334,0.6666666666666667,0.8,0.8333333333333334,0.33333333333333337,0.75,0.8333333333333334,0.75,0.8571428571428572,0.75,1.0,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.5,0.8571428571428572,0.8333333333333334,0.75,0.6666666666666667,0.8571428571428572,0.33333333333333337,0.8333333333333334,0.8333333333333334,0.75,0.6,0.8,0.6666666666666667,0.8571428571428572,0.8,1.0,1.0,0.8,0.8888888888888888,0.8571428571428572,0.75,1.0,0.8571428571428572,1.0,0.8333333333333334,0.8333333333333334,0.875,0.75,0.8,0.8,0.8,0.875,0.8,0.875,0.8888888888888888,1.0,0.8333333333333334,1.0,1.0,0.8,1.0,0.8333333333333334,1.0,0.8571428571428572,0.75,0.8,0.8333333333333334,0.75,0.875,0.75,0.8333333333333334 +0.25,0.5,0.25,0.5,0.7142857142857143,0.4,0.4,0.6666666666666667,0.0,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,1.0,0.75,0.8,0.8,0.8,0.6,0.0,0.4,0.19999999999999996,0.6,0.4,0.5,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.6,0.5,0.4,0.8,0.75,0.5,0.5,0.4,0.4,0.8,0.0,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.5,0.25,0.8,0.7142857142857143,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.0,0.8,1.0,0.75,0.8,0.5,0.5,0.8333333333333334,0.4,0.0,0.5,0.6,0.4,0.8,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.0,0.75,0.8333333333333334,0.5,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.4,0.33333333333333337,0.4,0.6,0.5714285714285714,0.5,0.5,0.7142857142857143,0.19999999999999996,0.4,0.4,0.4,0.8333333333333334,0.6666666666666667,0.5,0.5,0.33333333333333337,0.5,0.5714285714285714,0.5,0.5,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.8571428571428572,0.8,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.5,0.0,0.6666666666666667,0.19999999999999996,0.6,0.8333333333333334,0.5,0.8333333333333334,0.33333333333333337,0.8333333333333334,0.7142857142857143,0.5,0.5714285714285714,0.8333333333333334,0.8333333333333334,0.5,0.5,0.8,0.6666666666666667,0.33333333333333337,0.5,0.8333333333333334,0.8,0.5714285714285714,0.6,0.5,0.5,0.8333333333333334,0.19999999999999996,0.4,0.8,0.33333333333333337,0.6666666666666667,1.0,1.0,0.6666666666666667,0.5,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.33333333333333337,1.0,0.5,0.19999999999999996,0.4285714285714286,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.5,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.7142857142857143,0.19999999999999996,1.0,0.33333333333333337,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.5,0.4,0.5,0.75,0.4,0.25,0.25,0.25,0.6,0.5,0.5,0.5,0.33333333333333337,0.5,0.25,0.25,0.4,0.25,0.4,0.25,0.25,0.25,0.33333333333333337,0.33333333333333337,0.6,0.33333333333333337,0.8,0.6666666666666667,0.33333333333333337,0.75,0.75,0.8,0.6,0.6,0.6666666666666667,0.0,0.6,0.75,0.33333333333333337,0.25,0.75,0.4,0.33333333333333337,0.6,0.25,0.4,0.33333333333333337,0.33333333333333337,0.25,0.6,0.6666666666666667,0.8,0.4,0.25,0.33333333333333337,0.6666666666666667,0.4,0.75,0.25,0.25,0.33333333333333337,0.6,0.5,0.6666666666666667,0.6666666666666667,0.8,1.0,1.0,0.8,0.75,0.6666666666666667,0.75,1.0,0.6666666666666667,1.0,0.6,0.6,0.7142857142857143,0.33333333333333337,0.5,0.5,0.8,0.7142857142857143,0.8,0.7142857142857143,0.5714285714285714,0.8571428571428572,0.6,1.0,0.8333333333333334,0.5,1.0,0.6,1.0,0.6666666666666667,0.75,0.8,0.6,0.75,0.7142857142857143,0.75,0.6 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 +0.75,0.8333333333333334,0.75,0.0,0.8333333333333334,0.8,0.8,0.8,0.5,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.5,0.8,0.6,0.75,0.8,0.0,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.33333333333333337,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.0,0.8,0.8,0.6666666666666667,0.5,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.75,0.8333333333333334,0.75,0.6666666666666667,0.8333333333333334,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.75,0.8,0.6666666666666667,0.6666666666666667,0.8,0.0,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.75,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.4,0.0,0.4,0.8333333333333334,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.0,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.4,0.19999999999999996,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.0,0.6,0.5,0.19999999999999996,0.33333333333333337,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.0,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.4,0.8,0.33333333333333337,0.6666666666666667,1.0,1.0,0.6666666666666667,0.5,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.33333333333333337,1.0,0.5,0.19999999999999996,0.4285714285714286,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.7142857142857143,0.19999999999999996,1.0,0.33333333333333337,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.8333333333333334,0.5,0.8333333333333334,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.7142857142857143,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8,0.8,0.8571428571428572,0.8,0.6,1.0,0.8,1.0,1.0,1.0,0.8571428571428572,0.8571428571428572,0.7142857142857143,0.6,0.6666666666666667,1.0,0.8,0.6666666666666667,1.0,0.5,0.8,0.0,0.6666666666666667,0.7142857142857143,0.8,0.8,0.6666666666666667,0.8571428571428572,1.0,1.0,0.5,0.6666666666666667,0.8,1.0,0.7142857142857143,1.0,0.6666666666666667,0.6666666666666667,0.8,0.8571428571428572,0.6,1.0,0.7142857142857143,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.875,1.0,0.8333333333333334,0.7142857142857143,1.0,0.6666666666666667,0.6666666666666667,0.5714285714285714,0.8,0.6,0.6,0.8333333333333334,0.75,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.6666666666666667,0.8,0.6666666666666667,0.6,0.8571428571428572,0.6666666666666667,1.0,0.7142857142857143,1.0,0.8333333333333334,0.6666666666666667,0.8,0.5714285714285714,0.8,0.6666666666666667 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.0,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.5714285714285714,0.4,0.5,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.33333333333333337,0.6,0.7142857142857143,0.19999999999999996,0.0,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.33333333333333337,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.6666666666666667,0.8,0.5714285714285714,0.8571428571428572,1.0,1.0,0.8571428571428572,0.6666666666666667,0.5714285714285714,0.8333333333333334,1.0,0.5714285714285714,1.0,0.7142857142857143,0.5,0.625,0.6,0.6666666666666667,0.6666666666666667,0.8571428571428572,0.625,0.8571428571428572,0.625,0.5,0.75,0.5,1.0,0.875,0.6666666666666667,0.875,0.5,1.0,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.5,0.8333333333333334,0.625,0.8333333333333334,0.5 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.5,0.25,0.8,0.7142857142857143,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.0,0.8,1.0,0.75,0.8,0.5,0.5,0.8333333333333334,0.4,0.0,0.5,0.6,0.4,0.8,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.0,0.75,0.8333333333333334,0.5,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.6666666666666667,0.8,0.6666666666666667,0.5,0.8,0.75,0.75,0.75,0.75,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.75,0.75,0.8,0.75,0.8,0.75,0.75,0.75,0.5,0.5,0.75,0.5,1.0,0.0,0.5,0.5,0.5,0.6666666666666667,0.75,0.75,0.8,0.6666666666666667,0.75,0.5,0.5,0.75,0.5,0.8,0.5,1.0,0.75,0.8,0.5,0.5,0.75,0.75,0.0,0.6666666666666667,0.8,0.75,0.5,0.0,0.8,0.5,0.75,0.75,0.5,0.75,0.6666666666666667,0.0,0.8,0.6666666666666667,1.0,1.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,0.75,0.75,0.8333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,0.75,1.0,1.0,0.6666666666666667,1.0,0.75,1.0,0.8,0.5,0.6666666666666667,0.75,0.5,0.8333333333333334,0.5,0.75 +0.8,0.8571428571428572,0.8,0.33333333333333337,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.6,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,1.0,0.6666666666666667,0.75,0.75,0.75,0.5,0.6,0.8333333333333334,0.6666666666666667,0.8,0.8333333333333334,0.33333333333333337,0.75,0.8333333333333334,0.75,0.8571428571428572,0.75,1.0,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.0,0.8571428571428572,0.8333333333333334,0.75,0.6666666666666667,0.8571428571428572,0.33333333333333337,0.8333333333333334,0.8333333333333334,0.75,0.6,0.8,0.6666666666666667,0.8571428571428572,0.8,1.0,1.0,0.8,0.8888888888888888,0.8571428571428572,0.75,1.0,0.8571428571428572,1.0,0.8333333333333334,0.8333333333333334,0.875,0.75,0.8,0.8,0.8,0.7142857142857143,0.8,0.875,0.8888888888888888,1.0,0.8333333333333334,1.0,1.0,0.8,1.0,0.8333333333333334,1.0,0.8571428571428572,0.75,0.8,0.8333333333333334,0.75,0.875,0.75,0.8333333333333334 +0.4,0.0,0.4,0.8333333333333334,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.0,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.6666666666666667,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.4,0.19999999999999996,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.0,0.6,0.5,0.19999999999999996,0.33333333333333337,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.0,0.19999999999999996,0.6,0.8,0.33333333333333337,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.4,0.8,0.33333333333333337,0.6666666666666667,1.0,1.0,0.6666666666666667,0.5,0.5714285714285714,0.8333333333333334,0.8571428571428572,0.33333333333333337,1.0,0.5,0.19999999999999996,0.4285714285714286,0.6,0.4,0.4,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.7142857142857143,0.19999999999999996,1.0,0.33333333333333337,0.8333333333333334,0.6666666666666667,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.6666666666666667,0.8,0.6666666666666667,0.5,0.8,0.75,0.75,0.75,0.75,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.75,0.75,0.8,0.75,0.8,0.75,0.75,0.75,0.5,0.5,0.75,0.5,1.0,0.0,0.5,0.5,0.5,0.6666666666666667,0.75,0.75,0.8,0.6666666666666667,0.75,0.5,0.5,0.75,0.5,0.8,0.5,1.0,0.75,0.8,0.5,0.5,0.75,0.75,0.0,0.6666666666666667,0.8,0.75,0.5,0.0,0.8,0.5,0.75,0.75,0.5,0.75,0.6666666666666667,0.0,0.8,0.6666666666666667,1.0,1.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,0.75,0.75,0.8333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,0.75,1.0,1.0,0.6666666666666667,1.0,0.75,1.0,0.8,0.5,0.6666666666666667,0.75,0.5,0.8333333333333334,0.5,0.75 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.19999999999999996,0.19999999999999996,0.5,0.5,0.4,0.4,0.4,0.6,0.4,0.19999999999999996,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.33333333333333337,0.19999999999999996,0.19999999999999996,0.19999999999999996,0.6,0.6,0.5,0.6,0.8571428571428572,0.8,0.6,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.5714285714285714,0.4,0.5,0.8333333333333334,0.6,0.19999999999999996,0.8333333333333334,0.33333333333333337,0.6,0.7142857142857143,0.19999999999999996,0.33333333333333337,0.6,0.6,0.19999999999999996,0.5,0.8,0.8571428571428572,0.33333333333333337,0.19999999999999996,0.6,0.8,0.0,0.8333333333333334,0.19999999999999996,0.19999999999999996,0.6,0.5,0.6666666666666667,0.8,0.33333333333333337,0.8571428571428572,0.8,0.8,0.6666666666666667,0.5,0.33333333333333337,0.6,1.0,0.33333333333333337,1.0,0.7142857142857143,0.5,0.4285714285714286,0.6,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.2857142857142857,0.75,0.5,1.0,0.875,0.6666666666666667,0.7142857142857143,0.5,1.0,0.33333333333333337,0.6,0.6666666666666667,0.5,0.8333333333333334,0.625,0.8333333333333334,0.5 +0.75,0.8333333333333334,0.75,0.0,0.8333333333333334,0.8,0.8,0.8,0.5,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.5,0.8,0.6,0.75,0.8,0.0,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.33333333333333337,0.8333333333333334,0.8,0.6666666666666667,0.5,0.8333333333333334,0.0,0.8,0.8,0.6666666666666667,0.5,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.0,0.0,0.4,0.4,0.25,0.25,0.25,0.5,0.25,0.0,0.0,0.19999999999999996,0.0,0.19999999999999996,0.0,0.0,0.0,0.5,0.5,0.4,0.5,0.8333333333333334,0.75,0.5,0.8,0.8,0.8333333333333334,0.4,0.4,0.5,0.25,0.4,0.8,0.5,0.0,0.8,0.19999999999999996,0.5,0.6666666666666667,0.0,0.19999999999999996,0.5,0.5,0.0,0.4,0.75,0.8333333333333334,0.19999999999999996,0.0,0.5,0.75,0.19999999999999996,0.8,0.0,0.0,0.5,0.4,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.75,0.6,0.75,0.6666666666666667,0.6,0.5,0.5,0.5,0.8,0.75,0.75,0.75,0.0,0.33333333333333337,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.0,0.0,0.8,0.0,0.75,0.5,0.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.33333333333333337,0.8,0.6666666666666667,0.0,0.5,0.6666666666666667,0.6,0.0,0.8,0.5,0.6,0.0,0.0,0.5,0.8,0.5,0.75,0.6,0.5,0.0,0.5,0.6,0.6666666666666667,0.5,0.5,0.0,0.8,0.75,0.5,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,0.8333333333333334,0.6666666666666667,1.0,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,0.6666666666666667,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,1.0,0.8,1.0,0.8333333333333334,0.6666666666666667,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.25,0.5,0.25,0.5,0.7142857142857143,0.4,0.4,0.6666666666666667,0.0,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.5,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,1.0,0.75,0.8,0.8,0.8,0.6,0.0,0.4,0.19999999999999996,0.6,0.4,0.5,0.8,0.4,0.8,0.5,0.8,0.8571428571428572,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.6,0.5,0.4,0.8,0.75,0.5,0.5,0.4,0.4,0.8,0.0,0.6,0.75,0.5,0.8333333333333334,1.0,1.0,0.8333333333333334,0.625,0.5,0.8,1.0,0.5,1.0,0.6666666666666667,0.4,0.5714285714285714,0.5,0.6,0.6,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.5714285714285714,0.625,0.7142857142857143,0.4,1.0,0.8571428571428572,0.6,0.8571428571428572,0.4,1.0,0.5,0.8,0.8333333333333334,0.4,0.8,0.5714285714285714,0.8,0.4 +0.5,0.4,0.5,0.75,0.4,0.6,0.6,0.6,0.6,0.5,0.5,0.5,0.75,0.8,0.6,0.6,0.4,0.6,0.6666666666666667,0.6,0.6,0.6,0.75,0.75,0.6,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.6,0.6,0.4,0.5,0.25,0.75,0.75,0.6,0.75,0.4,0.75,0.6,0.6,0.6666666666666667,0.75,0.75,0.6,0.6,0.6666666666666667,0.8,0.4,0.6,0.75,0.6666666666666667,0.6666666666666667,0.75,0.6,0.6,0.75,0.6,0.0,0.6666666666666667,0.4,0.5,1.0,1.0,0.5,0.5714285714285714,0.6666666666666667,0.75,0.8,0.4,1.0,0.25,0.25,0.5,0.33333333333333337,0.0,0.0,0.5,0.5,0.5,0.5,0.5714285714285714,0.6666666666666667,0.25,0.75,0.6,0.0,0.8333333333333334,0.25,1.0,0.4,0.75,0.5,0.25,0.33333333333333337,0.5,0.33333333333333337,0.25 +0.6666666666666667,0.8,0.6666666666666667,0.5,0.8,0.75,0.75,0.75,0.75,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.75,0.75,0.8,0.75,0.8,0.75,0.75,0.75,0.5,0.5,0.75,0.5,1.0,0.0,0.5,0.5,0.5,0.6666666666666667,0.75,0.75,0.8,0.6666666666666667,0.75,0.5,0.5,0.75,0.5,0.8,0.5,1.0,0.75,0.8,0.5,0.5,0.75,0.75,0.0,0.6666666666666667,0.8,0.75,0.5,0.0,0.8,0.5,0.75,0.75,0.5,0.75,0.6666666666666667,0.0,0.8,0.6666666666666667,1.0,1.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,0.75,0.75,0.8333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,0.75,1.0,1.0,0.6666666666666667,1.0,0.75,1.0,0.8,0.5,0.6666666666666667,0.75,0.5,0.8333333333333334,0.5,0.75 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.5,0.5,0.7142857142857143,0.5,0.4,0.4,0.4,0.8333333333333334,0.6666666666666667,0.5,0.5,0.33333333333333337,0.5,0.5714285714285714,0.5,0.5,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.8571428571428572,0.8,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.6666666666666667,0.19999999999999996,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.33333333333333337,0.8333333333333334,0.7142857142857143,0.5,0.5714285714285714,0.8333333333333334,0.8333333333333334,0.5,0.5,0.8,0.8571428571428572,0.33333333333333337,0.5,0.8333333333333334,0.8,0.33333333333333337,0.8333333333333334,0.5,0.5,0.8333333333333334,0.5,0.4,0.8,0.0,0.6666666666666667,0.8,0.8,0.4,0.2857142857142857,0.33333333333333337,0.6,0.8571428571428572,0.0,1.0,0.5,0.19999999999999996,0.16666666666666663,0.6,0.4,0.4,0.4,0.16666666666666663,0.4,0.16666666666666663,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.5,0.19999999999999996,1.0,0.0,0.6,0.4,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.8,0.6666666666666667,0.8,0.75,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6,0.75,0.75,0.8333333333333334,0.75,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.75,0.6666666666666667,0.8571428571428572,0.75,0.8333333333333334,0.8333333333333334,0.75,0.8333333333333334,0.5,0.6666666666666667,0.6666666666666667,0.0,1.0,1.0,0.5,0.75,0.8571428571428572,0.75,0.8,0.6666666666666667,1.0,0.6,0.6,0.7142857142857143,0.75,0.5,0.5,0.5,0.7142857142857143,0.5,0.7142857142857143,0.75,0.6666666666666667,0.6,0.75,0.8333333333333334,0.5,0.8333333333333334,0.6,1.0,0.6666666666666667,0.75,0.5,0.6,0.33333333333333337,0.7142857142857143,0.33333333333333337,0.6 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,0.0,0.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,0.75,1.0,1.0,0.8,0.5,0.6666666666666667,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,0.0,0.0,0.6666666666666667,0.8571428571428572,0.8,0.5,1.0,0.8,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,0.6666666666666667,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,0.75,1.0,1.0,0.8,0.5,0.6666666666666667,1.0,1.0,1.0,1.0,1.0 +0.8,0.6666666666666667,0.8,0.75,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6,0.75,0.75,0.8333333333333334,0.75,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.75,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.75,0.8333333333333334,0.5,0.6666666666666667,0.4,0.5,0.6666666666666667,0.6666666666666667,0.0,0.5714285714285714,0.6666666666666667,0.33333333333333337,0.8,0.4,1.0,0.6,0.6,0.5,0.75,0.5,0.5,0.0,0.5,0.0,0.5,0.5714285714285714,0.8571428571428572,0.6,0.75,0.8333333333333334,0.5,0.6,0.6,1.0,0.4,0.33333333333333337,0.0,0.6,0.33333333333333337,0.7142857142857143,0.33333333333333337,0.6 +0.5714285714285714,0.5,0.5714285714285714,0.875,0.6666666666666667,0.625,0.625,0.7777777777777778,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.875,0.75,0.625,0.625,0.5,0.625,0.6666666666666667,0.625,0.625,0.625,0.875,0.875,0.625,0.875,0.8888888888888888,0.8571428571428572,0.875,0.875,0.875,0.8888888888888888,0.625,0.625,0.5,0.75,0.4285714285714286,0.875,0.875,0.625,0.875,0.5,0.875,0.625,0.625,0.6666666666666667,0.875,0.875,0.625,0.625,0.8571428571428572,0.8888888888888888,0.5,0.625,0.875,0.8571428571428572,0.5,0.875,0.625,0.625,0.875,0.625,0.5714285714285714,0.8571428571428572,0.2857142857142857,0.75,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.0,0.5,0.7142857142857143,0.8888888888888888,0.2857142857142857,0.875,0.625,0.4285714285714286,0.1428571428571429,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.375,0.5714285714285714,0.1428571428571429,0.25,0.6666666666666667,0.4285714285714286,0.875,0.7777777777777778,0.5714285714285714,0.625,0.4285714285714286,0.875,0.2857142857142857,0.7142857142857143,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.375,0.7142857142857143,0.4285714285714286 +0.4,0.5714285714285714,0.4,0.8333333333333334,0.75,0.5,0.5,0.7142857142857143,0.5,0.4,0.4,0.4,0.8333333333333334,0.6666666666666667,0.5,0.5,0.5714285714285714,0.5,0.5714285714285714,0.5,0.5,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,1.0,0.8,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.5714285714285714,0.6666666666666667,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.5714285714285714,0.8333333333333334,0.875,0.5,0.5714285714285714,0.8333333333333334,0.8333333333333334,0.5,0.5,0.8,0.8571428571428572,0.5714285714285714,0.5,0.8333333333333334,0.8,0.33333333333333337,0.8333333333333334,0.5,0.5,0.8333333333333334,0.5,0.6666666666666667,0.8,0.33333333333333337,0.8571428571428572,0.8,0.8,0.6666666666666667,0.5,0.0,0.6,1.0,0.33333333333333337,1.0,0.7142857142857143,0.5,0.4285714285714286,0.6,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.4285714285714286,0.6666666666666667,0.4285714285714286,0.5,0.75,0.5,1.0,0.875,0.6666666666666667,0.7142857142857143,0.5,1.0,0.33333333333333337,0.6,0.6666666666666667,0.5,0.8333333333333334,0.625,0.8333333333333334,0.5 +0.75,0.8333333333333334,0.75,0.6666666666666667,0.8333333333333334,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.75,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.75,0.8333333333333334,0.8,0.6666666666666667,0.5,0.6,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.75,0.5,0.6,0.75,0.5,0.5,0.33333333333333337,0.7142857142857143,0.6,0.0,1.0,0.6,1.0,0.8,0.8,0.6666666666666667,0.6666666666666667,0.75,0.75,0.33333333333333337,0.6666666666666667,0.33333333333333337,0.6666666666666667,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,0.8,0.8,1.0,0.6,0.0,0.33333333333333337,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +1.0,0.8571428571428572,1.0,1.0,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,0.8571428571428572,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8,1.0,0.8571428571428572,0.8,1.0,1.0,0.8,0.8888888888888888,1.0,1.0,0.0,0.8571428571428572,0.75,0.8333333333333334,0.8333333333333334,0.875,1.0,0.8,0.8,0.8,0.875,0.8,0.875,0.8888888888888888,0.6666666666666667,0.8333333333333334,0.75,0.8333333333333334,0.8,0.8333333333333334,0.8333333333333334,1.0,0.8571428571428572,1.0,0.8,0.8333333333333334,0.75,0.875,0.75,0.8333333333333334 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.5,0.5,0.7142857142857143,0.5,0.4,0.4,0.4,0.8333333333333334,0.6666666666666667,0.5,0.5,0.33333333333333337,0.5,0.5714285714285714,0.5,0.5,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.8571428571428572,0.8,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.6666666666666667,0.19999999999999996,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.33333333333333337,0.8333333333333334,0.7142857142857143,0.5,0.5714285714285714,0.8333333333333334,0.8333333333333334,0.5,0.5,0.8,0.8571428571428572,0.33333333333333337,0.5,0.8333333333333334,0.8,0.33333333333333337,0.8333333333333334,0.5,0.5,0.8333333333333334,0.5,0.4,0.8,0.0,0.6666666666666667,0.8,0.8,0.4,0.2857142857142857,0.33333333333333337,0.6,0.8571428571428572,0.0,1.0,0.5,0.19999999999999996,0.16666666666666663,0.6,0.4,0.4,0.4,0.16666666666666663,0.4,0.16666666666666663,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.5,0.19999999999999996,1.0,0.0,0.6,0.4,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.875,1.0,1.0,0.75,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666666666666667,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.6,0.5,0.6,0.8,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.6,0.6,0.6,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.7142857142857143,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.5,0.6,0.4,0.8,0.8,0.6666666666666667,0.8,0.5,0.8,0.6666666666666667,0.6666666666666667,0.7142857142857143,0.8,0.8,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.5,0.6666666666666667,0.8,0.75,0.7142857142857143,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.25,0.75,0.5,0.6,1.0,1.0,0.6,0.625,0.7142857142857143,0.8,0.8333333333333334,0.5,1.0,0.0,0.4,0.5714285714285714,0.5,0.25,0.25,0.6,0.5714285714285714,0.6,0.5714285714285714,0.625,0.7142857142857143,0.4,0.8,0.6666666666666667,0.25,0.8571428571428572,0.4,1.0,0.5,0.8,0.6,0.4,0.5,0.5714285714285714,0.5,0.4 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 +0.5,0.4285714285714286,0.5,0.8571428571428572,0.625,0.5714285714285714,0.5714285714285714,0.75,0.5714285714285714,0.5,0.5,0.5,0.8571428571428572,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.5714285714285714,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.875,0.8333333333333334,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.875,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.33333333333333337,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.625,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8333333333333334,0.875,0.4285714285714286,0.5714285714285714,0.8571428571428572,0.8333333333333334,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.5714285714285714,0.5,0.8333333333333334,0.16666666666666663,0.7142857142857143,0.8333333333333334,0.8333333333333334,0.5,0.1428571428571429,0.4285714285714286,0.6666666666666667,0.875,0.16666666666666663,1.0,0.5714285714285714,0.33333333333333337,0.0,0.6666666666666667,0.5,0.5,0.5,0.2857142857142857,0.5,0.0,0.1428571428571429,0.625,0.33333333333333337,0.8571428571428572,0.75,0.5,0.5714285714285714,0.33333333333333337,1.0,0.16666666666666663,0.6666666666666667,0.5,0.33333333333333337,0.6666666666666667,0.2857142857142857,0.6666666666666667,0.33333333333333337 +0.33333333333333337,0.6,0.33333333333333337,0.6666666666666667,0.6,0.5,0.5,0.5,0.5,0.33333333333333337,0.33333333333333337,0.33333333333333337,0.6666666666666667,0.75,0.5,0.5,0.6,0.5,0.6,0.5,0.5,0.5,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.5,0.5,0.6,0.33333333333333337,0.5,0.6666666666666667,0.6666666666666667,0.5,0.6666666666666667,0.6,0.6666666666666667,0.8,0.5,0.6,0.6666666666666667,0.6666666666666667,0.5,0.5,0.5,0.75,0.6,0.5,0.6666666666666667,0.5,0.6,0.6666666666666667,0.5,0.5,0.6666666666666667,0.5,0.33333333333333337,0.5,0.6,0.75,1.0,1.0,0.75,0.7142857142857143,0.6,0.6666666666666667,1.0,0.6,1.0,0.5,0.5,0.6666666666666667,0.0,0.33333333333333337,0.33333333333333337,0.75,0.6666666666666667,0.75,0.6666666666666667,0.7142857142857143,0.8333333333333334,0.5,1.0,0.8,0.33333333333333337,1.0,0.5,1.0,0.6,0.6666666666666667,0.75,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.5 +0.5,0.4,0.5,0.75,0.4,0.6,0.6,0.6,0.6,0.5,0.5,0.5,0.75,0.8,0.6,0.6,0.4,0.6,0.6666666666666667,0.6,0.6,0.6,0.75,0.75,0.6,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.6,0.6,0.4,0.5,0.25,0.75,0.75,0.6,0.75,0.4,0.75,0.6,0.6,0.6666666666666667,0.75,0.75,0.6,0.6,0.6666666666666667,0.8,0.4,0.6,0.75,0.6666666666666667,0.6666666666666667,0.75,0.6,0.6,0.75,0.6,0.0,0.6666666666666667,0.4,0.5,1.0,1.0,0.5,0.5714285714285714,0.6666666666666667,0.75,0.8,0.4,1.0,0.25,0.25,0.5,0.33333333333333337,0.0,0.0,0.5,0.5,0.5,0.5,0.5714285714285714,0.6666666666666667,0.25,0.75,0.6,0.0,0.8333333333333334,0.25,1.0,0.4,0.75,0.5,0.25,0.33333333333333337,0.5,0.33333333333333337,0.25 +0.5,0.4,0.5,0.75,0.4,0.6,0.6,0.6,0.6,0.5,0.5,0.5,0.75,0.8,0.6,0.6,0.4,0.6,0.6666666666666667,0.6,0.6,0.6,0.75,0.75,0.6,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.6,0.6,0.4,0.5,0.25,0.75,0.75,0.6,0.75,0.4,0.75,0.6,0.6,0.6666666666666667,0.75,0.75,0.6,0.6,0.6666666666666667,0.8,0.4,0.6,0.75,0.6666666666666667,0.6666666666666667,0.75,0.6,0.6,0.75,0.6,0.0,0.6666666666666667,0.4,0.5,1.0,1.0,0.5,0.5714285714285714,0.6666666666666667,0.75,0.8,0.4,1.0,0.25,0.25,0.5,0.33333333333333337,0.0,0.0,0.5,0.5,0.5,0.5,0.5714285714285714,0.6666666666666667,0.25,0.75,0.6,0.0,0.8333333333333334,0.25,1.0,0.4,0.75,0.5,0.25,0.33333333333333337,0.5,0.33333333333333337,0.25 +0.8,0.6666666666666667,0.8,0.75,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6,0.75,0.75,0.8333333333333334,0.75,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.75,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.75,0.8333333333333334,0.5,0.6666666666666667,0.4,0.5,0.6666666666666667,0.6666666666666667,0.0,0.5714285714285714,0.6666666666666667,0.33333333333333337,0.8,0.4,1.0,0.6,0.6,0.5,0.75,0.5,0.5,0.0,0.5,0.0,0.5,0.5714285714285714,0.8571428571428572,0.6,0.75,0.8333333333333334,0.5,0.6,0.6,1.0,0.4,0.33333333333333337,0.0,0.6,0.33333333333333337,0.7142857142857143,0.33333333333333337,0.6 +0.5,0.4285714285714286,0.5,0.8571428571428572,0.4285714285714286,0.5714285714285714,0.5714285714285714,0.75,0.5714285714285714,0.5,0.5,0.5,0.8571428571428572,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.5714285714285714,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.875,0.8333333333333334,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.875,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.33333333333333337,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.4285714285714286,0.8571428571428572,0.75,0.5714285714285714,0.625,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8333333333333334,0.7142857142857143,0.4285714285714286,0.5714285714285714,0.8571428571428572,0.8333333333333334,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.5714285714285714,0.5,0.8333333333333334,0.16666666666666663,0.7142857142857143,0.8333333333333334,0.8333333333333334,0.5,0.375,0.4285714285714286,0.6666666666666667,0.875,0.16666666666666663,1.0,0.5714285714285714,0.33333333333333337,0.2857142857142857,0.6666666666666667,0.5,0.5,0.5,0.0,0.5,0.2857142857142857,0.375,0.625,0.33333333333333337,0.8571428571428572,0.75,0.5,0.5714285714285714,0.33333333333333337,1.0,0.16666666666666663,0.6666666666666667,0.5,0.33333333333333337,0.6666666666666667,0.5,0.6666666666666667,0.33333333333333337 +0.8,0.6666666666666667,0.8,0.75,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6,0.75,0.75,0.8333333333333334,0.75,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.75,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.75,0.8333333333333334,0.5,0.6666666666666667,0.4,0.5,0.6666666666666667,0.6666666666666667,0.0,0.5714285714285714,0.6666666666666667,0.33333333333333337,0.8,0.4,1.0,0.6,0.6,0.5,0.75,0.5,0.5,0.0,0.5,0.0,0.5,0.5714285714285714,0.8571428571428572,0.6,0.75,0.8333333333333334,0.5,0.6,0.6,1.0,0.4,0.33333333333333337,0.0,0.6,0.33333333333333337,0.7142857142857143,0.33333333333333337,0.6 +0.5,0.4285714285714286,0.5,0.8571428571428572,0.625,0.5714285714285714,0.5714285714285714,0.75,0.5714285714285714,0.5,0.5,0.5,0.8571428571428572,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.5714285714285714,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.875,0.8333333333333334,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.875,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.33333333333333337,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.625,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8333333333333334,0.875,0.4285714285714286,0.5714285714285714,0.8571428571428572,0.8333333333333334,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.5714285714285714,0.5,0.8333333333333334,0.16666666666666663,0.7142857142857143,0.8333333333333334,0.8333333333333334,0.5,0.1428571428571429,0.4285714285714286,0.6666666666666667,0.875,0.16666666666666663,1.0,0.5714285714285714,0.33333333333333337,0.0,0.6666666666666667,0.5,0.5,0.5,0.2857142857142857,0.5,0.0,0.1428571428571429,0.625,0.33333333333333337,0.8571428571428572,0.75,0.5,0.5714285714285714,0.33333333333333337,1.0,0.16666666666666663,0.6666666666666667,0.5,0.33333333333333337,0.6666666666666667,0.2857142857142857,0.6666666666666667,0.33333333333333337 +0.5714285714285714,0.2857142857142857,0.5714285714285714,0.875,0.5,0.4285714285714286,0.4285714285714286,0.625,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.7142857142857143,0.5714285714285714,0.4285714285714286,0.4285714285714286,0.2857142857142857,0.4285714285714286,0.5,0.4285714285714286,0.4285714285714286,0.4285714285714286,0.7142857142857143,0.7142857142857143,0.625,0.7142857142857143,0.75,0.8571428571428572,0.7142857142857143,0.875,0.875,0.8888888888888888,0.625,0.625,0.5,0.5714285714285714,0.4285714285714286,0.875,0.7142857142857143,0.4285714285714286,0.875,0.2857142857142857,0.7142857142857143,0.4285714285714286,0.4285714285714286,0.5,0.7142857142857143,0.7142857142857143,0.4285714285714286,0.625,0.8571428571428572,0.8888888888888888,0.2857142857142857,0.4285714285714286,0.7142857142857143,0.8571428571428572,0.2857142857142857,0.875,0.4285714285714286,0.4285714285714286,0.7142857142857143,0.625,0.5714285714285714,0.8571428571428572,0.2857142857142857,0.75,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.25,0.5,0.7142857142857143,0.8888888888888888,0.2857142857142857,1.0,0.625,0.4285714285714286,0.1428571428571429,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.375,0.5714285714285714,0.1428571428571429,0.0,0.6666666666666667,0.4285714285714286,0.875,0.7777777777777778,0.5714285714285714,0.625,0.4285714285714286,1.0,0.2857142857142857,0.7142857142857143,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.375,0.7142857142857143,0.4285714285714286 +0.6666666666666667,0.5714285714285714,0.6666666666666667,1.0,0.75,0.7142857142857143,0.7142857142857143,0.875,0.7142857142857143,0.6666666666666667,0.6666666666666667,0.6666666666666667,1.0,0.8571428571428572,0.7142857142857143,0.7142857142857143,0.5714285714285714,0.7142857142857143,0.75,0.7142857142857143,0.7142857142857143,0.7142857142857143,1.0,1.0,0.7142857142857143,1.0,0.8571428571428572,1.0,1.0,1.0,1.0,1.0,0.7142857142857143,0.7142857142857143,0.5714285714285714,0.8571428571428572,0.5,1.0,1.0,0.7142857142857143,1.0,0.5714285714285714,1.0,0.7142857142857143,0.7142857142857143,0.75,1.0,1.0,0.7142857142857143,0.7142857142857143,1.0,1.0,0.5714285714285714,0.7142857142857143,1.0,1.0,0.75,1.0,0.7142857142857143,0.7142857142857143,1.0,0.7142857142857143,0.6666666666666667,1.0,0.5714285714285714,0.6666666666666667,1.0,1.0,0.8571428571428572,0.6666666666666667,0.75,1.0,0.6666666666666667,0.5714285714285714,1.0,0.7142857142857143,0.5,0.625,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8571428571428572,0.625,0.8571428571428572,0.625,0.6666666666666667,0.0,0.5,0.8333333333333334,0.7142857142857143,0.6666666666666667,0.7142857142857143,0.5,1.0,0.5714285714285714,1.0,0.8571428571428572,0.5,0.8333333333333334,0.625,0.8333333333333334,0.5 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 +1.0,0.8333333333333334,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.75,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,0.8,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,0.8,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.75,1.0,0.8333333333333334,0.75,1.0,1.0,0.75,0.875,1.0,1.0,0.75,0.8333333333333334,1.0,0.8,0.8,0.8571428571428572,1.0,0.75,0.75,0.75,0.8571428571428572,0.75,0.8571428571428572,0.875,0.8333333333333334,0.8,0.0,0.8,0.75,0.8,0.8,1.0,0.8333333333333334,1.0,0.75,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.8333333333333334,0.7142857142857143,0.8333333333333334,1.0,0.7142857142857143,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,1.0,0.8571428571428572,0.8571428571428572,0.7142857142857143,0.8571428571428572,0.875,0.8571428571428572,0.8571428571428572,0.8571428571428572,1.0,1.0,0.8571428571428572,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,0.8571428571428572,0.7142857142857143,0.8333333333333334,0.6666666666666667,1.0,1.0,0.8571428571428572,1.0,0.7142857142857143,1.0,0.6666666666666667,0.8571428571428572,0.875,1.0,1.0,0.8571428571428572,0.8571428571428572,1.0,1.0,0.7142857142857143,0.8571428571428572,1.0,1.0,0.875,1.0,0.8571428571428572,0.8571428571428572,1.0,0.8571428571428572,0.6,1.0,0.7142857142857143,0.8333333333333334,1.0,1.0,0.8333333333333334,0.7777777777777778,0.875,1.0,0.8333333333333334,0.7142857142857143,1.0,0.6666666666666667,0.6666666666666667,0.75,0.8,0.6,0.6,0.8333333333333334,0.75,0.8333333333333334,0.75,0.7777777777777778,0.7142857142857143,0.6666666666666667,0.8,0.0,0.6,0.8571428571428572,0.6666666666666667,1.0,0.7142857142857143,1.0,0.8333333333333334,0.6666666666666667,0.8,0.75,0.8,0.6666666666666667 +0.5,0.4,0.5,0.75,0.4,0.6,0.6,0.6,0.6,0.5,0.5,0.5,0.75,0.8,0.6,0.6,0.4,0.6,0.6666666666666667,0.6,0.6,0.6,0.75,0.75,0.6,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.6,0.6,0.4,0.5,0.25,0.75,0.75,0.6,0.75,0.4,0.75,0.6,0.6,0.6666666666666667,0.75,0.75,0.6,0.6,0.6666666666666667,0.8,0.4,0.6,0.75,0.6666666666666667,0.6666666666666667,0.75,0.6,0.6,0.75,0.6,0.0,0.6666666666666667,0.4,0.5,1.0,1.0,0.5,0.5714285714285714,0.6666666666666667,0.75,0.8,0.4,1.0,0.25,0.25,0.5,0.33333333333333337,0.0,0.0,0.5,0.5,0.5,0.5,0.5714285714285714,0.6666666666666667,0.25,0.75,0.6,0.0,0.8333333333333334,0.25,1.0,0.4,0.75,0.5,0.25,0.33333333333333337,0.5,0.33333333333333337,0.25 +0.8333333333333334,0.7142857142857143,0.8333333333333334,1.0,0.875,0.8571428571428572,0.8571428571428572,1.0,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,1.0,0.8333333333333334,0.8571428571428572,0.8571428571428572,0.7142857142857143,0.8571428571428572,0.875,0.8571428571428572,0.8571428571428572,0.8571428571428572,1.0,1.0,0.8571428571428572,1.0,0.8333333333333334,1.0,1.0,1.0,1.0,1.0,0.8571428571428572,0.8571428571428572,0.7142857142857143,1.0,0.6666666666666667,1.0,1.0,0.8571428571428572,1.0,0.7142857142857143,1.0,0.8571428571428572,0.8571428571428572,0.875,1.0,1.0,0.8571428571428572,0.8571428571428572,1.0,1.0,0.7142857142857143,0.8571428571428572,1.0,1.0,0.7142857142857143,1.0,0.8571428571428572,0.8571428571428572,1.0,0.8571428571428572,0.8333333333333334,1.0,0.5,0.8333333333333334,0.75,0.75,0.6,0.625,0.7142857142857143,0.8,0.8333333333333334,0.5,1.0,0.8571428571428572,0.6666666666666667,0.5714285714285714,1.0,0.8333333333333334,0.8333333333333334,0.6,0.5714285714285714,0.6,0.5714285714285714,0.625,0.7142857142857143,0.6666666666666667,0.8,0.8571428571428572,0.8333333333333334,0.0,0.6666666666666667,1.0,0.5,0.8,0.6,0.6666666666666667,0.8,0.75,0.8,0.6666666666666667 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.875,1.0,1.0,1.0,1.0,0.6666666666666667,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.4,0.33333333333333337,0.4,0.8333333333333334,0.5714285714285714,0.5,0.5,0.7142857142857143,0.5,0.4,0.4,0.4,0.8333333333333334,0.6666666666666667,0.5,0.5,0.33333333333333337,0.5,0.5714285714285714,0.5,0.5,0.5,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.8571428571428572,0.8,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.5,0.5,0.33333333333333337,0.6666666666666667,0.19999999999999996,0.8333333333333334,0.8333333333333334,0.5,0.8333333333333334,0.33333333333333337,0.8333333333333334,0.7142857142857143,0.5,0.5714285714285714,0.8333333333333334,0.8333333333333334,0.5,0.5,0.8,0.8571428571428572,0.33333333333333337,0.5,0.8333333333333334,0.8,0.33333333333333337,0.8333333333333334,0.5,0.5,0.8333333333333334,0.5,0.4,0.8,0.0,0.6666666666666667,0.8,0.8,0.4,0.2857142857142857,0.33333333333333337,0.6,0.8571428571428572,0.0,1.0,0.5,0.19999999999999996,0.16666666666666663,0.6,0.4,0.4,0.4,0.16666666666666663,0.4,0.16666666666666663,0.2857142857142857,0.5714285714285714,0.19999999999999996,0.8333333333333334,0.7142857142857143,0.4,0.5,0.19999999999999996,1.0,0.0,0.6,0.4,0.19999999999999996,0.6,0.4285714285714286,0.6,0.19999999999999996 +0.75,0.8333333333333334,0.75,0.6666666666666667,0.8333333333333334,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,1.0,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.8333333333333334,0.75,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.6666666666666667,1.0,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.75,0.8333333333333334,0.8,0.6666666666666667,0.5,0.6,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.75,0.5,0.6,0.75,0.5,0.5,0.33333333333333337,0.7142857142857143,0.6,0.0,1.0,0.6,1.0,0.8,0.8,0.6666666666666667,0.6666666666666667,0.75,0.75,0.33333333333333337,0.6666666666666667,0.33333333333333337,0.6666666666666667,0.7142857142857143,1.0,0.8,1.0,1.0,0.75,0.8,0.8,1.0,0.6,0.0,0.33333333333333337,0.8,0.6666666666666667,0.8571428571428572,0.6666666666666667,0.8 +0.8,0.6666666666666667,0.8,0.75,0.6666666666666667,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.8,0.8,0.8,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8333333333333334,0.8571428571428572,0.8333333333333334,0.8333333333333334,0.8333333333333334,0.75,0.75,0.8333333333333334,0.75,0.8,0.6666666666666667,0.75,0.75,0.75,0.8,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6,0.75,0.75,0.8333333333333334,0.75,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.8571428571428572,0.75,0.75,0.8333333333333334,0.8333333333333334,0.6666666666666667,0.8,0.6666666666666667,0.8333333333333334,0.75,0.6666666666666667,0.6666666666666667,0.75,0.8333333333333334,0.8333333333333334,0.75,0.8333333333333334,0.5,0.6666666666666667,0.4,0.5,0.6666666666666667,0.6666666666666667,0.0,0.5714285714285714,0.6666666666666667,0.33333333333333337,0.8,0.4,1.0,0.6,0.6,0.5,0.75,0.5,0.5,0.0,0.5,0.0,0.5,0.5714285714285714,0.8571428571428572,0.6,0.75,0.8333333333333334,0.5,0.6,0.6,1.0,0.4,0.33333333333333337,0.0,0.6,0.33333333333333337,0.7142857142857143,0.33333333333333337,0.6 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 +0.75,0.6,0.75,0.6666666666666667,0.6,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.6,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.75,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.6,0.75,0.5,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.6,0.6666666666666667,0.8,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.75,0.6,0.8,0.6666666666666667,0.5,0.8333333333333334,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.33333333333333337,0.5,0.6,0.33333333333333337,1.0,1.0,0.33333333333333337,0.7142857142857143,0.8333333333333334,0.6666666666666667,0.75,0.6,1.0,0.5,0.5,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.33333333333333337,0.33333333333333337,0.6666666666666667,0.33333333333333337,0.6666666666666667,0.7142857142857143,0.8333333333333334,0.5,0.6666666666666667,0.8,0.33333333333333337,0.8,0.5,1.0,0.6,0.6666666666666667,0.33333333333333337,0.5,0.0,0.6666666666666667,0.0,0.5 +0.5,0.4285714285714286,0.5,0.8571428571428572,0.625,0.5714285714285714,0.5714285714285714,0.75,0.5714285714285714,0.5,0.5,0.5,0.8571428571428572,0.7142857142857143,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.5714285714285714,0.625,0.5714285714285714,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.875,0.8333333333333334,0.8571428571428572,0.8571428571428572,0.8571428571428572,0.875,0.5714285714285714,0.5714285714285714,0.4285714285714286,0.7142857142857143,0.33333333333333337,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.8571428571428572,0.4285714285714286,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.625,0.8571428571428572,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8333333333333334,0.875,0.4285714285714286,0.5714285714285714,0.8571428571428572,0.8333333333333334,0.625,0.8571428571428572,0.5714285714285714,0.5714285714285714,0.8571428571428572,0.5714285714285714,0.5,0.8333333333333334,0.4285714285714286,0.7142857142857143,1.0,1.0,0.7142857142857143,0.375,0.625,0.8571428571428572,0.875,0.4285714285714286,1.0,0.5714285714285714,0.33333333333333337,0.2857142857142857,0.6666666666666667,0.5,0.5,0.7142857142857143,0.5,0.7142857142857143,0.2857142857142857,0.375,0.625,0.33333333333333337,0.8571428571428572,0.75,0.5,0.75,0.33333333333333337,1.0,0.4285714285714286,0.8571428571428572,0.7142857142857143,0.33333333333333337,0.6666666666666667,0.0,0.6666666666666667,0.33333333333333337 +0.75,0.6,0.75,0.6666666666666667,0.6,0.8,0.8,0.8,0.8,0.75,0.75,0.75,0.6666666666666667,0.75,0.8,0.8,0.6,0.8,0.8333333333333334,0.8,0.8,0.8,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.75,0.5,0.6666666666666667,0.6666666666666667,0.6666666666666667,0.75,0.8,0.8,0.6,0.75,0.5,0.6666666666666667,0.6666666666666667,0.8,0.6666666666666667,0.6,0.6666666666666667,0.8,0.8,0.8333333333333334,0.6666666666666667,0.6666666666666667,0.8,0.8,0.5,0.75,0.6,0.8,0.6666666666666667,0.5,0.8333333333333334,0.6666666666666667,0.8,0.8,0.6666666666666667,0.8,0.33333333333333337,0.5,0.6,0.33333333333333337,1.0,1.0,0.33333333333333337,0.7142857142857143,0.8333333333333334,0.6666666666666667,0.75,0.6,1.0,0.5,0.5,0.6666666666666667,0.6666666666666667,0.33333333333333337,0.33333333333333337,0.33333333333333337,0.6666666666666667,0.33333333333333337,0.6666666666666667,0.7142857142857143,0.8333333333333334,0.5,0.6666666666666667,0.8,0.33333333333333337,0.8,0.5,1.0,0.6,0.6666666666666667,0.33333333333333337,0.5,0.0,0.6666666666666667,0.0,0.5 +0.25,0.19999999999999996,0.25,0.8,0.5,0.4,0.4,0.6666666666666667,0.4,0.25,0.25,0.25,0.8,0.6,0.4,0.4,0.19999999999999996,0.4,0.5,0.4,0.4,0.4,0.8,0.8,0.4,0.8,0.8333333333333334,0.75,0.8,0.8,0.8,0.8333333333333334,0.4,0.4,0.19999999999999996,0.6,0.0,0.8,0.8,0.4,0.8,0.19999999999999996,0.8,0.6666666666666667,0.4,0.5,0.8,0.8,0.4,0.4,0.75,0.8333333333333334,0.19999999999999996,0.4,0.8,0.75,0.5,0.8,0.4,0.4,0.8,0.4,0.25,0.75,0.19999999999999996,0.6,1.0,1.0,0.6,0.4285714285714286,0.5,0.8,0.8333333333333334,0.19999999999999996,1.0,0.4,0.0,0.33333333333333337,0.5,0.25,0.25,0.6,0.33333333333333337,0.6,0.33333333333333337,0.4285714285714286,0.5,0.0,0.8,0.6666666666666667,0.25,0.6666666666666667,0.0,1.0,0.19999999999999996,0.8,0.6,0.0,0.5,0.33333333333333337,0.5,0.0 diff --git a/SQLFeatureExtraction/data/ub_Makiyama.csv b/SQLFeatureExtraction/data/ub_Makiyama.csv new file mode 100644 index 0000000..01e3177 --- /dev/null +++ b/SQLFeatureExtraction/data/ub_Makiyama.csv @@ -0,0 +1,102 @@ +0.0,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.5196155385847385,0.0,0.5196155385847385,0.25579159246474925,1.0,0.5196155385847385,0.056543646950273474,0.26620061429465713,0.5196155385847385,0.5196155385847385,0.16137213062246536,0.5196155385847385,1.0,0.7226499018873854,0.6077677297236319,0.5196155385847385,0.11929515407202063,0.5196155385847385,0.5839748528310782,0.7226499018873854,0.5196155385847385,0.5196155385847385,1.0,1.0,0.7226499018873854,1.0,0.7226499018873854,0.7226499018873854,0.25579159246474925,1.0,1.0,1.0,0.5196155385847385,0.5196155385847385,0.1317568578755407,1.0,0.1317568578755407,0.25579159246474925,1.0,0.5196155385847385,0.5196155385847385,0.1317568578755407,1.0,0.5996796154872821,0.5196155385847385,0.25579159246474925,0.25579159246474925,1.0,0.11747739187817197,0.7226499018873854,1.0,1.0,0.1317568578755407,0.5839748528310782,0.25579159246474925,1.0,0.5839748528310782,0.32063377951324246,0.7226499018873854,0.056543646950273474,0.7226499018873854,0.5196155385847385,0.35948738477965136,0.25579159246474925,1.0,1.0,1.0,1.0,1.0,1.0,0.5038610616431661,0.8613249509436927,1.0,0.35948738477965136,1.0,0.8398718461949128,0.371029097966849,0.411651594585448,1.0,0.5038610616431661,0.44529980377477085,1.0,0.411651594585448,1.0,1.0,0.5196155385847385,0.8398718461949128,0.32063377951324246,0.8613249509436927,0.8951715163278082,0.411651594585448,1.0,1.0,1.0,1.0,1.0,0.2603997383663611,0.371029097966849,1.0,0.49825479399574546,0.35948738477965136,1.0 +-2.220446049250313E-16,0.5196155385847385,0.0,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +1.0,0.25579159246474925,1.0,0.0,0.5527864045000421,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,2.220446049250313E-16,1.0,0.5527864045000421,1.0,1.0,1.0,0.6000000000000001,0.5527864045000421,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,1.0,0.2254033307585166,0.6000000000000001,0.5527864045000421,1.0,1.0,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,0.3675444679663241,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.0871290708247231,1.0,0.3238765962171869,1.0,1.0,0.4836022205056778,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,0.4836022205056778,1.0,1.0,0.6619382981085935,0.683772233983162,0.7418011102528389,0.6000000000000001,0.5527864045000421,1.0,0.683772233983162,1.0,1.0,0.7418011102528389,1.0,0.6348516283298893,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.6619382981085935,1.0,0.7303200550147031,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,0.0,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.3453463292920228,0.056543646950273474,0.3453463292920228,0.3238765962171869,1.0,0.3453463292920228,0.0,0.2857142857142858,0.3453463292920228,0.3453463292920228,0.14285714285714302,0.3453463292920228,1.0,0.6220355269907728,0.4654775161751513,0.3453463292920228,0.23623738417402662,0.3453463292920228,0.43305329048615915,0.6220355269907728,0.3453463292920228,0.3453463292920228,1.0,1.0,0.6220355269907728,1.0,0.6220355269907728,0.6220355269907728,0.3238765962171869,1.0,1.0,1.0,0.3453463292920228,0.3453463292920228,0.15484574527148354,1.0,0.15484574527148354,0.3238765962171869,1.0,0.3453463292920228,0.5635642195280153,0.15484574527148354,1.0,0.6726731646460113,0.3453463292920228,0.15484574527148354,0.3238765962171869,1.0,0.06458565330651478,0.6220355269907728,1.0,1.0,0.15484574527148354,0.43305329048615915,0.3238765962171869,1.0,0.43305329048615915,0.38278660015163235,0.6220355269907728,1.1102230246251565E-16,0.6220355269907728,0.3453463292920228,0.5635642195280153,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,1.0,0.49290744716289014,0.8110177634953863,1.0,0.5635642195280153,1.0,1.0,0.4285714285714286,0.4654775161751513,1.0,0.6619382981085935,0.6220355269907728,1.0,0.4654775161751513,1.0,1.0,0.5635642195280153,1.0,0.38278660015163235,0.8110177634953863,1.0,0.4654775161751513,1.0,1.0,1.0,1.0,1.0,0.49604736932103044,0.4285714285714286,1.0,0.5441576941614482,0.5635642195280153,1.0 +0.7817821097640076,0.26620061429465713,0.7817821097640076,0.3238765962171869,1.0,0.7817821097640076,0.2857142857142858,0.0,0.7817821097640076,0.7817821097640076,0.2857142857142858,0.7817821097640076,1.0,1.0,0.7327387580875757,0.7817821097640076,0.454455274410019,0.7817821097640076,0.8110177634953863,1.0,0.7817821097640076,0.7817821097640076,1.0,1.0,1.0,1.0,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,0.7817821097640076,0.7817821097640076,0.49290744716289014,1.0,0.49290744716289014,0.3238765962171869,1.0,0.7817821097640076,0.5635642195280153,0.49290744716289014,1.0,0.7817821097640076,0.7817821097640076,0.49290744716289014,0.3238765962171869,1.0,0.33184689521893906,1.0,1.0,1.0,0.49290744716289014,0.8110177634953863,0.3238765962171869,1.0,0.8110177634953863,0.38278660015163235,1.0,0.2857142857142858,1.0,0.7817821097640076,0.5635642195280153,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,1.0,0.49290744716289014,1.0,1.0,0.5635642195280153,1.0,1.0,0.5714285714285715,0.5991081371313635,1.0,0.6619382981085935,0.6220355269907728,1.0,0.5991081371313635,1.0,1.0,0.6726731646460113,1.0,0.5370899501137243,1.0,1.0,0.4654775161751513,1.0,1.0,1.0,1.0,1.0,0.49604736932103044,0.5714285714285715,1.0,0.6581182706210862,0.5635642195280153,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,0.0,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,0.0,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.5635642195280153,0.16137213062246536,0.5635642195280153,0.3238765962171869,1.0,0.5635642195280153,0.14285714285714302,0.2857142857142858,0.5635642195280153,0.5635642195280153,0.0,0.5635642195280153,1.0,1.0,0.4654775161751513,0.5635642195280153,0.3453463292920228,0.5635642195280153,0.6220355269907728,1.0,0.5635642195280153,0.5635642195280153,1.0,1.0,1.0,1.0,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,0.5635642195280153,0.5635642195280153,0.3238765962171869,1.0,0.3238765962171869,0.3238765962171869,1.0,0.5635642195280153,0.5635642195280153,0.3238765962171869,1.0,0.7817821097640076,0.5635642195280153,0.3238765962171869,0.3238765962171869,1.0,0.19821627426272692,1.0,1.0,1.0,0.3238765962171869,0.6220355269907728,0.3238765962171869,1.0,0.6220355269907728,0.38278660015163235,1.0,0.14285714285714302,1.0,0.5635642195280153,0.5635642195280153,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,1.0,0.49290744716289014,1.0,1.0,0.5635642195280153,1.0,1.0,0.4285714285714286,0.4654775161751513,1.0,0.6619382981085935,0.6220355269907728,1.0,0.4654775161751513,1.0,1.0,0.5635642195280153,1.0,0.38278660015163235,1.0,1.0,0.4654775161751513,1.0,1.0,1.0,1.0,1.0,0.49604736932103044,0.4285714285714286,1.0,0.5441576941614482,0.5635642195280153,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,0.0,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.18350341907227408,0.6077677297236319,0.18350341907227408,1.0,1.0,0.18350341907227408,0.4654775161751513,0.7327387580875757,0.18350341907227408,0.18350341907227408,0.4654775161751513,0.18350341907227408,1.0,1.0,0.0,0.18350341907227408,0.5917517095361371,0.18350341907227408,0.29289321881345254,1.0,0.18350341907227408,0.18350341907227408,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.18350341907227408,0.18350341907227408,0.3675444679663241,1.0,0.3675444679663241,1.0,1.0,0.18350341907227408,1.0,0.3675444679663241,1.0,0.5917517095361371,0.18350341907227408,0.3675444679663241,1.0,1.0,0.5000000000000001,1.0,1.0,1.0,0.3675444679663241,0.29289321881345254,1.0,1.0,0.29289321881345254,1.0,1.0,0.4654775161751513,1.0,0.18350341907227408,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.4654775161751513,0.5000000000000001,1.0,1.0,1.0,1.0,0.5000000000000001,1.0,1.0,0.5917517095361371,1.0,0.42264973081037416,1.0,1.0,0.5000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.4654775161751513,1.0,0.5735985672887791,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,0.0,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.4999999999999999,0.11929515407202063,0.4999999999999999,0.4836022205056778,1.0,0.4999999999999999,0.23623738417402662,0.454455274410019,0.4999999999999999,0.4999999999999999,0.3453463292920228,0.4999999999999999,1.0,0.7113248654051871,0.5917517095361371,0.4999999999999999,0.0,0.4999999999999999,0.5669872981077806,0.7113248654051871,0.4999999999999999,0.4999999999999999,1.0,1.0,0.7113248654051871,0.7958758547680685,0.7113248654051871,0.7113248654051871,0.4836022205056778,1.0,1.0,1.0,0.4999999999999999,0.4999999999999999,0.0963038858849361,1.0,0.0963038858849361,0.4836022205056778,1.0,0.4999999999999999,0.6666666666666666,0.0963038858849361,1.0,0.33333333333333326,0.4999999999999999,0.3545027756320972,0.4836022205056778,1.0,0.18350341907227408,0.7113248654051871,1.0,1.0,0.0963038858849361,0.5669872981077806,0.4836022205056778,1.0,0.5669872981077806,0.5285954792089682,0.7113248654051871,0.23623738417402662,0.7113248654051871,0.4999999999999999,0.33333333333333326,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.6127016653792583,0.8556624327025936,1.0,0.33333333333333326,1.0,0.6666666666666666,0.3453463292920228,0.38762756430420553,1.0,0.4836022205056778,0.42264973081037416,1.0,0.38762756430420553,1.0,1.0,0.33333333333333326,0.6666666666666666,0.2928932188134524,0.8556624327025936,0.7817821097640076,0.38762756430420553,1.0,1.0,1.0,1.0,1.0,0.23019964108049895,0.3453463292920228,1.0,0.4777670321329065,0.33333333333333326,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,0.0,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.1339745962155613,0.5839748528310782,0.1339745962155613,1.0,1.0,0.1339745962155613,0.43305329048615915,0.8110177634953863,0.1339745962155613,0.1339745962155613,0.6220355269907728,0.1339745962155613,1.0,0.5,0.29289321881345254,0.1339745962155613,0.5669872981077806,0.1339745962155613,0.0,0.5,0.1339745962155613,0.1339745962155613,0.5,1.0,0.5,0.6464466094067263,0.5,0.5,1.0,1.0,1.0,1.0,0.1339745962155613,0.1339745962155613,0.3291796067500631,1.0,0.3291796067500631,1.0,1.0,0.1339745962155613,1.0,0.3291796067500631,1.0,0.5669872981077806,0.1339745962155613,0.3291796067500631,1.0,1.0,0.4696699141100894,0.5,1.0,1.0,0.3291796067500631,0.0,1.0,1.0,0.25,1.0,0.5,0.43305329048615915,0.5,0.1339745962155613,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7763932022500211,0.5,1.0,1.0,1.0,1.0,0.43305329048615915,0.6464466094067263,1.0,1.0,1.0,1.0,0.4696699141100894,1.0,1.0,0.7113248654051871,1.0,0.3876275643042054,0.75,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,0.43305329048615915,1.0,0.6984886554222364,1.0,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,0.0,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,0.0,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,0.0,1.0,1.0,0.29289321881345254,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,0.6220355269907728,1.0,1.0,1.0,1.0,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,0.6220355269907728,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7958758547680685,1.0,0.6464466094067263,1.0,1.0,1.0,0.29289321881345254,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7958758547680685,1.0,1.0,1.0,1.0,0.75,1.0,1.0,1.0,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,0.7327387580875757,1.0,1.0,1.0,1.0,1.0,0.75,1.0,1.0,0.5917517095361371,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,0.7327387580875757,1.0,1.0,1.0,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,0.25579159246474925,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,1.0,1.0,1.0,0.6000000000000001,0.5527864045000421,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,1.0,0.2254033307585166,0.6000000000000001,0.5527864045000421,1.0,1.0,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,0.3675444679663241,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.0871290708247231,1.0,0.3238765962171869,1.0,1.0,0.4836022205056778,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,0.4836022205056778,1.0,1.0,0.6619382981085935,0.683772233983162,0.7418011102528389,0.6000000000000001,0.5527864045000421,1.0,0.683772233983162,1.0,1.0,0.7418011102528389,1.0,0.6348516283298893,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.6619382981085935,1.0,0.7303200550147031,0.4836022205056778,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,0.0,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,0.0,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.2254033307585166,0.1317568578755407,0.2254033307585166,0.6000000000000001,1.0,0.2254033307585166,0.15484574527148354,0.49290744716289014,0.2254033307585166,0.2254033307585166,0.3238765962171869,0.2254033307585166,1.0,0.5527864045000421,0.3675444679663241,0.2254033307585166,0.0963038858849361,0.2254033307585166,0.3291796067500631,0.5527864045000421,0.2254033307585166,0.2254033307585166,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,1.0,1.0,0.2254033307585166,0.2254033307585166,0.0,1.0,2.220446049250313E-16,0.6000000000000001,1.0,0.2254033307585166,0.7418011102528389,2.220446049250313E-16,1.0,0.3545027756320972,0.2254033307585166,0.20000000000000018,0.6000000000000001,1.0,0.20943058495790523,0.5527864045000421,1.0,1.0,2.220446049250313E-16,0.3291796067500631,0.6000000000000001,1.0,0.3291796067500631,0.6348516283298893,0.5527864045000421,0.15484574527148354,0.5527864045000421,0.2254033307585166,0.4836022205056778,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,1.0,0.4836022205056778,1.0,0.7418011102528389,0.3238765962171869,0.3675444679663241,1.0,0.6000000000000001,0.5527864045000421,1.0,0.3675444679663241,1.0,1.0,0.4836022205056778,0.7418011102528389,0.26970325665977857,0.7763932022500211,0.8309691490542968,0.3675444679663241,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.3238765962171869,1.0,0.4606401100294063,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.2254033307585166,0.1317568578755407,0.2254033307585166,0.6000000000000001,1.0,0.2254033307585166,0.15484574527148354,0.49290744716289014,0.2254033307585166,0.2254033307585166,0.3238765962171869,0.2254033307585166,1.0,0.5527864045000421,0.3675444679663241,0.2254033307585166,0.0963038858849361,0.2254033307585166,0.3291796067500631,0.5527864045000421,0.2254033307585166,0.2254033307585166,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,1.0,1.0,0.2254033307585166,0.2254033307585166,2.220446049250313E-16,1.0,0.0,0.6000000000000001,1.0,0.2254033307585166,0.7418011102528389,2.220446049250313E-16,1.0,0.3545027756320972,0.2254033307585166,0.20000000000000018,0.6000000000000001,1.0,0.20943058495790523,0.5527864045000421,1.0,1.0,2.220446049250313E-16,0.3291796067500631,0.6000000000000001,1.0,0.3291796067500631,0.6348516283298893,0.5527864045000421,0.15484574527148354,0.5527864045000421,0.2254033307585166,0.4836022205056778,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,1.0,0.4836022205056778,1.0,0.7418011102528389,0.3238765962171869,0.3675444679663241,1.0,0.6000000000000001,0.5527864045000421,1.0,0.3675444679663241,1.0,1.0,0.4836022205056778,0.7418011102528389,0.26970325665977857,0.7763932022500211,0.8309691490542968,0.3675444679663241,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.3238765962171869,1.0,0.4606401100294063,0.4836022205056778,1.0 +1.0,0.25579159246474925,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,2.220446049250313E-16,1.0,0.5527864045000421,1.0,1.0,1.0,0.6000000000000001,0.5527864045000421,0.6000000000000001,0.0,0.5527864045000421,1.0,0.2254033307585166,0.6000000000000001,0.5527864045000421,1.0,1.0,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,0.3675444679663241,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.0871290708247231,1.0,0.3238765962171869,1.0,1.0,0.4836022205056778,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,0.4836022205056778,1.0,1.0,0.6619382981085935,0.683772233983162,0.7418011102528389,0.6000000000000001,0.5527864045000421,1.0,0.683772233983162,1.0,1.0,0.7418011102528389,1.0,0.6348516283298893,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.6619382981085935,1.0,0.7303200550147031,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,0.0,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +1.0,0.5196155385847385,1.0,0.2254033307585166,0.42264973081037416,1.0,0.5635642195280153,0.5635642195280153,1.0,1.0,0.5635642195280153,1.0,1.0,1.0,1.0,1.0,0.6666666666666666,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,0.2254033307585166,1.0,0.42264973081037416,1.0,1.0,1.0,0.7418011102528389,0.42264973081037416,0.7418011102528389,0.2254033307585166,0.42264973081037416,1.0,0.0,0.7418011102528389,0.42264973081037416,1.0,1.0,0.7418011102528389,0.2254033307585166,0.42264973081037416,0.5917517095361371,1.0,0.42264973081037416,0.42264973081037416,0.7418011102528389,1.0,0.2254033307585166,0.42264973081037416,1.0,0.2928932188134524,1.0,0.5635642195280153,1.0,1.0,0.6666666666666666,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,1.0,0.6666666666666666,1.0,1.0,0.7817821097640076,0.7958758547680685,0.6666666666666666,0.7418011102528389,0.7113248654051871,1.0,0.7958758547680685,1.0,1.0,0.8333333333333333,1.0,0.7642977396044841,1.0,1.0,0.7958758547680685,1.0,1.0,1.0,1.0,1.0,0.6150998205402495,0.7817821097640076,1.0,0.8259223440443022,0.6666666666666666,1.0 +0.2254033307585166,0.1317568578755407,0.2254033307585166,0.6000000000000001,1.0,0.2254033307585166,0.15484574527148354,0.49290744716289014,0.2254033307585166,0.2254033307585166,0.3238765962171869,0.2254033307585166,1.0,0.5527864045000421,0.3675444679663241,0.2254033307585166,0.0963038858849361,0.2254033307585166,0.3291796067500631,0.5527864045000421,0.2254033307585166,0.2254033307585166,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,1.0,1.0,0.2254033307585166,0.2254033307585166,2.220446049250313E-16,1.0,2.220446049250313E-16,0.6000000000000001,1.0,0.2254033307585166,0.7418011102528389,0.0,1.0,0.3545027756320972,0.2254033307585166,0.20000000000000018,0.6000000000000001,1.0,0.20943058495790523,0.5527864045000421,1.0,1.0,2.220446049250313E-16,0.3291796067500631,0.6000000000000001,1.0,0.3291796067500631,0.6348516283298893,0.5527864045000421,0.15484574527148354,0.5527864045000421,0.2254033307585166,0.4836022205056778,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,1.0,0.4836022205056778,1.0,0.7418011102528389,0.3238765962171869,0.3675444679663241,1.0,0.6000000000000001,0.5527864045000421,1.0,0.3675444679663241,1.0,1.0,0.4836022205056778,0.7418011102528389,0.26970325665977857,0.7763932022500211,0.8309691490542968,0.3675444679663241,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.3238765962171869,1.0,0.4606401100294063,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.4999999999999999,0.5996796154872821,0.4999999999999999,1.0,1.0,0.4999999999999999,0.6726731646460113,0.7817821097640076,0.4999999999999999,0.4999999999999999,0.7817821097640076,0.4999999999999999,1.0,0.7113248654051871,0.5917517095361371,0.4999999999999999,0.33333333333333326,0.4999999999999999,0.5669872981077806,0.7113248654051871,0.4999999999999999,0.4999999999999999,1.0,1.0,0.7113248654051871,0.7958758547680685,0.7113248654051871,0.7113248654051871,1.0,1.0,1.0,1.0,0.4999999999999999,0.4999999999999999,0.3545027756320972,1.0,0.3545027756320972,1.0,1.0,0.4999999999999999,1.0,0.3545027756320972,1.0,0.0,0.4999999999999999,0.6127016653792583,1.0,1.0,0.5917517095361371,0.7113248654051871,1.0,1.0,0.3545027756320972,0.5669872981077806,1.0,1.0,0.5669872981077806,1.0,0.7113248654051871,0.6726731646460113,0.7113248654051871,0.4999999999999999,0.4999999999999999,0.8709005551264195,0.7113248654051871,0.7113248654051871,1.0,0.7113248654051871,0.7113248654051871,1.0,0.6127016653792583,0.8556624327025936,0.7113248654051871,0.4999999999999999,1.0,0.4999999999999999,0.454455274410019,0.38762756430420553,0.8333333333333333,0.6127016653792583,0.5669872981077806,0.7113248654051871,0.4896896369201713,0.7113248654051871,0.7113248654051871,0.33333333333333326,0.4999999999999999,0.5285954792089682,0.7113248654051871,0.6726731646460113,0.38762756430420553,0.7113248654051871,0.7113248654051871,1.0,0.7113248654051871,1.0,0.5188747756753118,0.454455274410019,0.7113248654051871,0.4777670321329065,0.4999999999999999,0.7113248654051871 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,0.0,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,-2.220446049250313E-16,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +0.2254033307585166,0.25579159246474925,0.2254033307585166,0.6000000000000001,1.0,0.2254033307585166,0.15484574527148354,0.49290744716289014,0.2254033307585166,0.2254033307585166,0.3238765962171869,0.2254033307585166,1.0,0.5527864045000421,0.3675444679663241,0.2254033307585166,0.3545027756320972,0.2254033307585166,0.3291796067500631,0.5527864045000421,0.2254033307585166,0.2254033307585166,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,1.0,1.0,0.2254033307585166,0.2254033307585166,0.20000000000000018,1.0,0.20000000000000018,0.6000000000000001,1.0,0.2254033307585166,0.7418011102528389,0.20000000000000018,1.0,0.6127016653792583,0.2254033307585166,0.0,0.6000000000000001,1.0,0.20943058495790523,0.5527864045000421,1.0,1.0,0.20000000000000018,0.3291796067500631,0.6000000000000001,1.0,0.3291796067500631,0.6348516283298893,0.5527864045000421,0.15484574527148354,0.5527864045000421,0.2254033307585166,0.7418011102528389,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,1.0,0.7418011102528389,1.0,1.0,0.49290744716289014,0.5256583509747431,1.0,0.8,0.7763932022500211,1.0,0.5256583509747431,1.0,1.0,0.6127016653792583,1.0,0.4522774424948339,0.7763932022500211,1.0,0.5256583509747431,1.0,1.0,1.0,1.0,1.0,0.7018576030000281,0.49290744716289014,1.0,0.5954800825220548,0.7418011102528389,1.0 +1.0,0.25579159246474925,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,2.220446049250313E-16,1.0,0.5527864045000421,1.0,1.0,1.0,0.6000000000000001,0.5527864045000421,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,1.0,0.2254033307585166,0.6000000000000001,0.5527864045000421,1.0,1.0,0.6000000000000001,0.0,0.5527864045000421,0.3675444679663241,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.0871290708247231,1.0,0.3238765962171869,1.0,1.0,0.4836022205056778,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,0.4836022205056778,1.0,1.0,0.6619382981085935,0.683772233983162,0.7418011102528389,0.6000000000000001,0.5527864045000421,1.0,0.683772233983162,1.0,1.0,0.7418011102528389,1.0,0.6348516283298893,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.6619382981085935,1.0,0.7303200550147031,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.38762756430420553,0.11747739187817197,0.38762756430420553,0.3675444679663241,1.0,0.38762756430420553,0.06458565330651478,0.33184689521893906,0.38762756430420553,0.38762756430420553,0.19821627426272692,0.38762756430420553,1.0,0.6464466094067263,0.5000000000000001,0.38762756430420553,0.18350341907227408,0.38762756430420553,0.4696699141100894,0.6464466094067263,0.38762756430420553,0.38762756430420553,1.0,1.0,0.6464466094067263,0.75,0.6464466094067263,0.6464466094067263,0.3675444679663241,1.0,1.0,1.0,0.38762756430420553,0.38762756430420553,0.20943058495790523,1.0,0.20943058495790523,0.3675444679663241,1.0,0.38762756430420553,0.5917517095361371,0.20943058495790523,1.0,0.5917517095361371,0.38762756430420553,0.20943058495790523,0.3675444679663241,1.0,0.0,0.6464466094067263,1.0,1.0,0.20943058495790523,0.4696699141100894,0.3675444679663241,1.0,0.4696699141100894,0.42264973081037416,0.6464466094067263,0.06458565330651478,0.6464466094067263,0.38762756430420553,0.5917517095361371,0.3675444679663241,1.0,1.0,1.0,1.0,1.0,1.0,0.5256583509747431,0.8232233047033631,1.0,0.5917517095361371,1.0,1.0,0.4654775161751513,0.5000000000000001,1.0,0.683772233983162,0.6464466094067263,1.0,0.5000000000000001,1.0,1.0,0.38762756430420553,1.0,0.42264973081037416,0.8232233047033631,1.0,0.5000000000000001,1.0,1.0,1.0,1.0,1.0,0.5285954792089684,0.4654775161751513,1.0,0.5735985672887791,0.5917517095361371,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.2254033307585166,0.1317568578755407,0.2254033307585166,0.6000000000000001,1.0,0.2254033307585166,0.15484574527148354,0.49290744716289014,0.2254033307585166,0.2254033307585166,0.3238765962171869,0.2254033307585166,1.0,0.5527864045000421,0.3675444679663241,0.2254033307585166,0.0963038858849361,0.2254033307585166,0.3291796067500631,0.5527864045000421,0.2254033307585166,0.2254033307585166,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,1.0,1.0,0.2254033307585166,0.2254033307585166,2.220446049250313E-16,1.0,2.220446049250313E-16,0.6000000000000001,1.0,0.2254033307585166,0.7418011102528389,2.220446049250313E-16,1.0,0.3545027756320972,0.2254033307585166,0.20000000000000018,0.6000000000000001,1.0,0.20943058495790523,0.5527864045000421,1.0,1.0,0.0,0.3291796067500631,0.6000000000000001,1.0,0.3291796067500631,0.6348516283298893,0.5527864045000421,0.15484574527148354,0.5527864045000421,0.2254033307585166,0.4836022205056778,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,1.0,0.4836022205056778,1.0,0.7418011102528389,0.3238765962171869,0.3675444679663241,1.0,0.6000000000000001,0.5527864045000421,1.0,0.3675444679663241,1.0,1.0,0.4836022205056778,0.7418011102528389,0.26970325665977857,0.7763932022500211,0.8309691490542968,0.3675444679663241,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.3238765962171869,1.0,0.4606401100294063,0.4836022205056778,1.0 +0.1339745962155613,0.5839748528310782,0.1339745962155613,1.0,1.0,0.1339745962155613,0.43305329048615915,0.8110177634953863,0.1339745962155613,0.1339745962155613,0.6220355269907728,0.1339745962155613,1.0,0.5,0.29289321881345254,0.1339745962155613,0.5669872981077806,0.1339745962155613,0.0,0.5,0.1339745962155613,0.1339745962155613,0.5,1.0,0.5,0.6464466094067263,0.5,0.5,1.0,1.0,1.0,1.0,0.1339745962155613,0.1339745962155613,0.3291796067500631,1.0,0.3291796067500631,1.0,1.0,0.1339745962155613,1.0,0.3291796067500631,1.0,0.5669872981077806,0.1339745962155613,0.3291796067500631,1.0,1.0,0.4696699141100894,0.5,1.0,1.0,0.3291796067500631,0.0,1.0,1.0,0.25,1.0,0.5,0.43305329048615915,0.5,0.1339745962155613,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7763932022500211,0.5,1.0,1.0,1.0,1.0,0.43305329048615915,0.6464466094067263,1.0,1.0,1.0,1.0,0.4696699141100894,1.0,1.0,0.7113248654051871,1.0,0.3876275643042054,0.75,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,0.43305329048615915,1.0,0.6984886554222364,1.0,1.0 +1.0,0.25579159246474925,1.0,2.220446049250313E-16,0.5527864045000421,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,2.220446049250313E-16,1.0,0.5527864045000421,1.0,1.0,1.0,0.6000000000000001,0.5527864045000421,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,1.0,0.2254033307585166,0.6000000000000001,0.5527864045000421,1.0,1.0,0.6000000000000001,2.220446049250313E-16,0.5527864045000421,0.3675444679663241,1.0,0.5527864045000421,0.5527864045000421,0.6000000000000001,1.0,0.0,0.5527864045000421,1.0,0.0871290708247231,1.0,0.3238765962171869,1.0,1.0,0.4836022205056778,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,0.4836022205056778,1.0,1.0,0.6619382981085935,0.683772233983162,0.7418011102528389,0.6000000000000001,0.5527864045000421,1.0,0.683772233983162,1.0,1.0,0.7418011102528389,1.0,0.6348516283298893,1.0,1.0,0.683772233983162,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,0.6619382981085935,1.0,0.7303200550147031,0.4836022205056778,1.0 +1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.0,1.0,1.0,1.0,1.0,0.0,1.0,0.5527864045000421,0.0,1.0,0.42264973081037416,1.0,0.0,1.0,1.0,1.0,0.5527864045000421,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.5527864045000421,0.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.1339745962155613,0.5839748528310782,0.1339745962155613,1.0,1.0,0.1339745962155613,0.43305329048615915,0.8110177634953863,0.1339745962155613,0.1339745962155613,0.6220355269907728,0.1339745962155613,1.0,0.5,0.29289321881345254,0.1339745962155613,0.5669872981077806,0.1339745962155613,0.25,0.5,0.1339745962155613,0.1339745962155613,1.0,1.0,0.5,1.0,0.5,0.5,1.0,1.0,1.0,1.0,0.1339745962155613,0.1339745962155613,0.3291796067500631,1.0,0.3291796067500631,1.0,1.0,0.1339745962155613,1.0,0.3291796067500631,1.0,0.5669872981077806,0.1339745962155613,0.3291796067500631,1.0,1.0,0.4696699141100894,0.5,1.0,1.0,0.3291796067500631,0.25,1.0,1.0,0.0,1.0,0.5,0.43305329048615915,0.5,0.1339745962155613,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,0.7763932022500211,0.5,1.0,1.0,1.0,1.0,0.6220355269907728,0.4696699141100894,1.0,1.0,1.0,1.0,0.4696699141100894,1.0,1.0,0.5669872981077806,1.0,0.5917517095361369,0.75,1.0,0.6464466094067263,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,0.6220355269907728,1.0,0.6984886554222364,1.0,1.0 +1.0,0.32063377951324246,1.0,0.0871290708247231,0.5917517095361369,1.0,0.38278660015163235,0.38278660015163235,1.0,1.0,0.38278660015163235,1.0,1.0,1.0,1.0,1.0,0.5285954792089682,1.0,1.0,1.0,1.0,1.0,1.0,0.5917517095361369,1.0,1.0,1.0,1.0,0.0871290708247231,1.0,0.5917517095361369,1.0,1.0,1.0,0.6348516283298893,0.5917517095361369,0.6348516283298893,0.0871290708247231,0.5917517095361369,1.0,0.2928932188134524,0.6348516283298893,0.5917517095361369,1.0,1.0,0.6348516283298893,0.0871290708247231,0.5917517095361369,0.42264973081037416,1.0,0.5917517095361369,0.5917517095361369,0.6348516283298893,1.0,0.0871290708247231,0.5917517095361369,1.0,0.0,1.0,0.38278660015163235,1.0,1.0,0.5285954792089682,0.26970325665977857,1.0,1.0,1.0,1.0,1.0,1.0,0.6348516283298893,1.0,1.0,0.5285954792089682,1.0,1.0,0.6913933000758161,0.7113248654051871,0.7642977396044841,0.6348516283298893,0.5917517095361369,1.0,0.7113248654051871,1.0,1.0,0.7642977396044841,1.0,0.6666666666666666,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,0.45566894604818264,0.6913933000758161,1.0,0.7538170180413345,0.5285954792089682,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.3453463292920228,0.056543646950273474,0.3453463292920228,0.3238765962171869,1.0,0.3453463292920228,1.1102230246251565E-16,0.2857142857142858,0.3453463292920228,0.3453463292920228,0.14285714285714302,0.3453463292920228,1.0,0.6220355269907728,0.4654775161751513,0.3453463292920228,0.23623738417402662,0.3453463292920228,0.43305329048615915,0.6220355269907728,0.3453463292920228,0.3453463292920228,1.0,1.0,0.6220355269907728,1.0,0.6220355269907728,0.6220355269907728,0.3238765962171869,1.0,1.0,1.0,0.3453463292920228,0.3453463292920228,0.15484574527148354,1.0,0.15484574527148354,0.3238765962171869,1.0,0.3453463292920228,0.5635642195280153,0.15484574527148354,1.0,0.6726731646460113,0.3453463292920228,0.15484574527148354,0.3238765962171869,1.0,0.06458565330651478,0.6220355269907728,1.0,1.0,0.15484574527148354,0.43305329048615915,0.3238765962171869,1.0,0.43305329048615915,0.38278660015163235,0.6220355269907728,0.0,0.6220355269907728,0.3453463292920228,0.5635642195280153,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,1.0,0.49290744716289014,0.8110177634953863,1.0,0.5635642195280153,1.0,1.0,0.4285714285714286,0.4654775161751513,1.0,0.6619382981085935,0.6220355269907728,1.0,0.4654775161751513,1.0,1.0,0.5635642195280153,1.0,0.38278660015163235,0.8110177634953863,1.0,0.4654775161751513,1.0,1.0,1.0,1.0,1.0,0.49604736932103044,0.4285714285714286,1.0,0.5441576941614482,0.5635642195280153,1.0 +0.42264973081037416,0.7226499018873854,0.42264973081037416,1.0,1.0,0.42264973081037416,0.6220355269907728,1.0,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.0,1.0,0.42264973081037416,0.7113248654051871,0.42264973081037416,0.5,0.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.42264973081037416,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.42264973081037416,1.0,0.5527864045000421,1.0,0.7113248654051871,0.42264973081037416,0.5527864045000421,1.0,1.0,0.6464466094067263,0.0,1.0,1.0,0.5527864045000421,0.5,1.0,1.0,0.5,1.0,0.0,0.6220355269907728,0.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +-2.220446049250313E-16,0.5196155385847385,-2.220446049250313E-16,1.0,1.0,-2.220446049250313E-16,0.3453463292920228,0.7817821097640076,-2.220446049250313E-16,-2.220446049250313E-16,0.5635642195280153,-2.220446049250313E-16,1.0,0.42264973081037416,0.18350341907227408,-2.220446049250313E-16,0.4999999999999999,-2.220446049250313E-16,0.1339745962155613,0.42264973081037416,-2.220446049250313E-16,-2.220446049250313E-16,1.0,1.0,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,1.0,1.0,-2.220446049250313E-16,-2.220446049250313E-16,0.2254033307585166,1.0,0.2254033307585166,1.0,1.0,-2.220446049250313E-16,1.0,0.2254033307585166,1.0,0.4999999999999999,-2.220446049250313E-16,0.2254033307585166,1.0,1.0,0.38762756430420553,0.42264973081037416,1.0,1.0,0.2254033307585166,0.1339745962155613,1.0,1.0,0.1339745962155613,1.0,0.42264973081037416,0.3453463292920228,0.42264973081037416,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,0.7113248654051871,1.0,1.0,1.0,1.0,0.5635642195280153,0.5917517095361371,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.6666666666666666,1.0,0.5285954792089682,0.7113248654051871,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,1.0,0.6518446880886043,1.0,1.0 +1.0,0.35948738477965136,1.0,0.4836022205056778,1.0,1.0,0.5635642195280153,0.5635642195280153,1.0,1.0,0.5635642195280153,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,0.4836022205056778,1.0,1.0,0.6666666666666666,0.4836022205056778,1.0,0.4999999999999999,1.0,0.7418011102528389,0.4836022205056778,1.0,0.5917517095361371,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,1.0,1.0,0.5285954792089682,1.0,0.5635642195280153,1.0,1.0,0.0,0.2254033307585166,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.4836022205056778,1.0,0.42264973081037416,-2.220446049250313E-16,1.0,0.33333333333333326,0.3453463292920228,0.38762756430420553,0.6666666666666666,0.2254033307585166,0.1339745962155613,0.42264973081037416,0.38762756430420553,0.42264973081037416,0.42264973081037416,0.4999999999999999,0.33333333333333326,0.5285954792089682,0.7113248654051871,0.5635642195280153,0.5917517095361371,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.037749551350623745,0.3453463292920228,0.42264973081037416,0.4777670321329065,-2.220446049250313E-16,0.42264973081037416 +1.0,0.25579159246474925,1.0,0.20000000000000018,1.0,1.0,0.3238765962171869,0.3238765962171869,1.0,1.0,0.3238765962171869,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.20000000000000018,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,0.6000000000000001,0.20000000000000018,1.0,1.0,0.4836022205056778,0.6000000000000001,1.0,0.8709005551264195,1.0,0.6000000000000001,0.20000000000000018,1.0,0.3675444679663241,1.0,1.0,1.0,0.6000000000000001,1.0,0.20000000000000018,1.0,1.0,0.26970325665977857,1.0,0.3238765962171869,1.0,1.0,0.2254033307585166,0.0,0.5527864045000421,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,1.0,0.40000000000000013,1.0,0.5527864045000421,0.2254033307585166,1.0,0.7418011102528389,0.49290744716289014,0.5256583509747431,0.7418011102528389,0.40000000000000013,0.3291796067500631,0.5527864045000421,0.5256583509747431,0.5527864045000421,0.5527864045000421,0.6127016653792583,0.7418011102528389,0.6348516283298893,0.7763932022500211,0.8309691490542968,0.683772233983162,0.5527864045000421,0.5527864045000421,1.0,0.5527864045000421,1.0,0.2546440075000701,0.49290744716289014,0.5527864045000421,0.5954800825220548,0.2254033307585166,0.5527864045000421 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,0.7958758547680685,1.0,0.7418011102528389,1.0,1.0,0.7958758547680685,1.0,1.0,0.8333333333333333,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,0.6348516283298893,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6913933000758161,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +0.7418011102528389,0.5038610616431661,0.7418011102528389,0.6000000000000001,1.0,0.7418011102528389,0.49290744716289014,0.49290744716289014,0.7418011102528389,0.7418011102528389,0.49290744716289014,0.7418011102528389,1.0,1.0,0.683772233983162,0.7418011102528389,0.6127016653792583,0.7418011102528389,0.7763932022500211,1.0,0.7418011102528389,0.7418011102528389,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,1.0,0.7418011102528389,0.7418011102528389,0.6000000000000001,1.0,0.6000000000000001,0.6000000000000001,1.0,0.7418011102528389,0.7418011102528389,0.6000000000000001,1.0,0.6127016653792583,0.7418011102528389,0.6000000000000001,0.6000000000000001,1.0,0.5256583509747431,1.0,1.0,1.0,0.6000000000000001,0.7763932022500211,0.6000000000000001,1.0,0.7763932022500211,0.6348516283298893,1.0,0.49290744716289014,1.0,0.7418011102528389,0.4836022205056778,0.40000000000000013,0.5527864045000421,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,0.6348516283298893,0.0,1.0,0.5527864045000421,0.4836022205056778,1.0,0.7418011102528389,0.49290744716289014,0.5256583509747431,0.7418011102528389,0.6000000000000001,0.5527864045000421,0.5527864045000421,0.5256583509747431,0.5527864045000421,0.5527864045000421,0.6127016653792583,0.7418011102528389,0.6348516283298893,0.7763932022500211,0.8309691490542968,0.5256583509747431,0.5527864045000421,0.5527864045000421,1.0,0.5527864045000421,1.0,0.5527864045000421,0.49290744716289014,0.5527864045000421,0.5954800825220548,0.4836022205056778,0.5527864045000421 +0.7113248654051871,0.8613249509436927,0.7113248654051871,1.0,1.0,0.7113248654051871,0.8110177634953863,1.0,0.7113248654051871,0.7113248654051871,1.0,0.7113248654051871,1.0,0.5,1.0,0.7113248654051871,0.8556624327025936,0.7113248654051871,0.5,0.5,0.7113248654051871,0.7113248654051871,0.5,1.0,0.5,0.6464466094067263,0.5,0.5,1.0,1.0,1.0,1.0,0.7113248654051871,0.7113248654051871,0.7763932022500211,1.0,0.7763932022500211,1.0,1.0,0.7113248654051871,1.0,0.7763932022500211,1.0,0.8556624327025936,0.7113248654051871,0.7763932022500211,1.0,1.0,0.8232233047033631,0.5,1.0,1.0,0.7763932022500211,0.5,1.0,1.0,0.5,1.0,0.5,0.8110177634953863,0.5,0.7113248654051871,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,0.8110177634953863,0.8232233047033631,1.0,1.0,1.0,1.0,0.6464466094067263,1.0,1.0,0.8556624327025936,1.0,0.7958758547680684,0.75,1.0,1.0,1.0,1.0,1.0,1.0,0.1339745962155613,1.0,0.8110177634953863,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,0.35948738477965136,1.0,0.4836022205056778,1.0,1.0,0.5635642195280153,0.5635642195280153,1.0,1.0,0.5635642195280153,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,0.4836022205056778,1.0,1.0,0.6666666666666666,0.4836022205056778,1.0,0.4999999999999999,1.0,0.7418011102528389,0.4836022205056778,1.0,0.5917517095361371,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,1.0,1.0,0.5285954792089682,1.0,0.5635642195280153,1.0,1.0,-2.220446049250313E-16,0.2254033307585166,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.4836022205056778,1.0,0.42264973081037416,0.0,1.0,0.33333333333333326,0.3453463292920228,0.38762756430420553,0.6666666666666666,0.2254033307585166,0.1339745962155613,0.42264973081037416,0.38762756430420553,0.42264973081037416,0.42264973081037416,0.4999999999999999,0.33333333333333326,0.5285954792089682,0.7113248654051871,0.5635642195280153,0.5917517095361371,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.037749551350623745,0.3453463292920228,0.42264973081037416,0.4777670321329065,-2.220446049250313E-16,0.42264973081037416 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,0.8398718461949128,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666666666666666,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,0.7418011102528389,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,0.4999999999999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,0.7418011102528389,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.7418011102528389,1.0,0.42264973081037416,0.33333333333333326,1.0,0.0,0.5635642195280153,0.5917517095361371,0.6666666666666666,0.4836022205056778,0.42264973081037416,0.42264973081037416,0.5917517095361371,0.42264973081037416,0.42264973081037416,0.6666666666666666,0.33333333333333326,0.7642977396044841,0.7113248654051871,0.5635642195280153,0.7958758547680685,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.42264973081037427,0.5635642195280153,0.42264973081037416,0.6518446880886043,0.33333333333333326,0.42264973081037416 +0.5635642195280153,0.371029097966849,0.5635642195280153,0.6619382981085935,1.0,0.5635642195280153,0.4285714285714286,0.5714285714285715,0.5635642195280153,0.5635642195280153,0.4285714285714286,0.5635642195280153,1.0,1.0,0.4654775161751513,0.5635642195280153,0.3453463292920228,0.5635642195280153,0.43305329048615915,1.0,0.5635642195280153,0.5635642195280153,0.6220355269907728,1.0,1.0,0.7327387580875757,1.0,1.0,0.6619382981085935,1.0,1.0,1.0,0.5635642195280153,0.5635642195280153,0.3238765962171869,1.0,0.3238765962171869,0.6619382981085935,1.0,0.5635642195280153,0.7817821097640076,0.3238765962171869,1.0,0.454455274410019,0.5635642195280153,0.49290744716289014,0.6619382981085935,1.0,0.4654775161751513,1.0,1.0,1.0,0.3238765962171869,0.43305329048615915,0.6619382981085935,1.0,0.6220355269907728,0.6913933000758161,1.0,0.4285714285714286,1.0,0.5635642195280153,0.3453463292920228,0.49290744716289014,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,0.6220355269907728,1.0,0.49290744716289014,0.8110177634953863,0.6220355269907728,0.3453463292920228,1.0,0.5635642195280153,0.0,0.33184689521893906,0.5635642195280153,0.3238765962171869,0.43305329048615915,0.6220355269907728,0.19821627426272692,0.6220355269907728,0.6220355269907728,0.454455274410019,0.5635642195280153,0.07417990022744858,0.8110177634953863,0.7142857142857143,0.33184689521893906,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,0.7817821097640076,0.37005921165128797,1.1102230246251565E-16,0.6220355269907728,0.43019711770181024,0.3453463292920228,0.6220355269907728 +0.5917517095361371,0.411651594585448,0.5917517095361371,0.683772233983162,1.0,0.5917517095361371,0.4654775161751513,0.5991081371313635,0.5917517095361371,0.5917517095361371,0.4654775161751513,0.5917517095361371,1.0,1.0,0.5000000000000001,0.5917517095361371,0.38762756430420553,0.5917517095361371,0.6464466094067263,1.0,0.5917517095361371,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.683772233983162,1.0,1.0,1.0,0.5917517095361371,0.5917517095361371,0.3675444679663241,1.0,0.3675444679663241,0.683772233983162,1.0,0.5917517095361371,0.7958758547680685,0.3675444679663241,1.0,0.38762756430420553,0.5917517095361371,0.5256583509747431,0.683772233983162,1.0,0.5000000000000001,1.0,1.0,1.0,0.3675444679663241,0.6464466094067263,0.683772233983162,1.0,0.4696699141100894,0.7113248654051871,1.0,0.4654775161751513,1.0,0.5917517095361371,0.38762756430420553,0.5256583509747431,0.6464466094067263,0.6464466094067263,0.7958758547680685,0.6464466094067263,0.6464466094067263,1.0,0.5256583509747431,0.8232233047033631,0.6464466094067263,0.38762756430420553,1.0,0.5917517095361371,0.33184689521893906,0.0,0.7958758547680685,0.5256583509747431,0.4696699141100894,0.6464466094067263,0.2500000000000001,0.6464466094067263,0.6464466094067263,0.28556549168823975,0.5917517095361371,0.42264973081037416,0.8232233047033631,0.7327387580875757,0.5000000000000001,0.6464466094067263,0.6464466094067263,1.0,0.6464466094067263,0.7958758547680685,0.4107443490112105,0.33184689521893906,0.6464466094067263,0.3603978509331687,0.38762756430420553,0.6464466094067263 +1.0,1.0,1.0,0.7418011102528389,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,0.7418011102528389,0.42264973081037416,1.0,0.6666666666666666,1.0,0.42264973081037416,0.8333333333333333,1.0,1.0,0.7418011102528389,0.42264973081037416,1.0,1.0,0.42264973081037416,0.42264973081037416,1.0,1.0,0.7418011102528389,0.42264973081037416,1.0,0.7642977396044841,1.0,1.0,1.0,1.0,0.6666666666666666,0.7418011102528389,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.7418011102528389,1.0,0.42264973081037416,0.6666666666666666,1.0,0.6666666666666666,0.5635642195280153,0.7958758547680685,0.0,0.4836022205056778,0.7113248654051871,0.42264973081037416,0.7958758547680685,0.42264973081037416,0.42264973081037416,0.8333333333333333,0.6666666666666666,0.7642977396044841,0.7113248654051871,0.7817821097640076,0.7958758547680685,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.8075499102701247,0.5635642195280153,0.42264973081037416,0.8259223440443022,0.6666666666666666,0.42264973081037416 +1.0,0.5038610616431661,1.0,0.6000000000000001,1.0,1.0,0.6619382981085935,0.6619382981085935,1.0,1.0,0.6619382981085935,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,1.0,1.0,1.0,1.0,0.6000000000000001,1.0,0.6000000000000001,0.6000000000000001,1.0,1.0,0.7418011102528389,0.6000000000000001,1.0,0.6127016653792583,1.0,0.8,0.6000000000000001,1.0,0.683772233983162,1.0,1.0,1.0,0.6000000000000001,1.0,0.6000000000000001,1.0,1.0,0.6348516283298893,1.0,0.6619382981085935,1.0,1.0,0.2254033307585166,0.40000000000000013,0.5527864045000421,0.5527864045000421,0.7418011102528389,0.5527864045000421,0.5527864045000421,1.0,0.6000000000000001,1.0,0.5527864045000421,0.2254033307585166,1.0,0.4836022205056778,0.3238765962171869,0.5256583509747431,0.4836022205056778,0.0,0.3291796067500631,0.5527864045000421,0.5256583509747431,0.5527864045000421,0.5527864045000421,0.6127016653792583,0.4836022205056778,0.4522774424948339,0.7763932022500211,0.6619382981085935,0.5256583509747431,0.5527864045000421,0.5527864045000421,1.0,0.5527864045000421,1.0,0.2546440075000701,0.3238765962171869,0.5527864045000421,0.5954800825220548,0.2254033307585166,0.5527864045000421 +1.0,0.44529980377477085,1.0,0.5527864045000421,1.0,1.0,0.6220355269907728,0.6220355269907728,1.0,1.0,0.6220355269907728,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,1.0,1.0,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,0.5527864045000421,1.0,1.0,0.7113248654051871,0.5527864045000421,1.0,0.5669872981077806,1.0,0.7763932022500211,0.5527864045000421,1.0,0.6464466094067263,1.0,1.0,1.0,0.5527864045000421,1.0,0.5527864045000421,1.0,1.0,0.5917517095361369,1.0,0.6220355269907728,1.0,1.0,0.1339745962155613,0.3291796067500631,0.5,0.5,1.0,0.5,0.5,1.0,0.5527864045000421,1.0,0.5,0.1339745962155613,1.0,0.42264973081037416,0.43305329048615915,0.4696699141100894,0.7113248654051871,0.3291796067500631,0.0,0.5,0.4696699141100894,0.5,0.5,0.5669872981077806,0.42264973081037416,0.5917517095361369,0.75,0.6220355269907728,0.6464466094067263,0.5,0.5,1.0,0.5,1.0,0.16666666666666663,0.43305329048615915,0.5,0.5477329831333546,0.1339745962155613,0.5 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +0.5917517095361371,0.411651594585448,0.5917517095361371,0.683772233983162,1.0,0.5917517095361371,0.4654775161751513,0.5991081371313635,0.5917517095361371,0.5917517095361371,0.4654775161751513,0.5917517095361371,1.0,1.0,0.5000000000000001,0.5917517095361371,0.38762756430420553,0.5917517095361371,0.4696699141100894,1.0,0.5917517095361371,0.5917517095361371,0.6464466094067263,1.0,1.0,0.75,1.0,1.0,0.683772233983162,1.0,1.0,1.0,0.5917517095361371,0.5917517095361371,0.3675444679663241,1.0,0.3675444679663241,0.683772233983162,1.0,0.5917517095361371,0.7958758547680685,0.3675444679663241,1.0,0.4896896369201713,0.5917517095361371,0.5256583509747431,0.683772233983162,1.0,0.5000000000000001,1.0,1.0,1.0,0.3675444679663241,0.4696699141100894,0.683772233983162,1.0,0.4696699141100894,0.7113248654051871,1.0,0.4654775161751513,1.0,0.5917517095361371,0.38762756430420553,0.5256583509747431,0.6464466094067263,0.6464466094067263,0.7958758547680685,0.6464466094067263,0.6464466094067263,1.0,0.5256583509747431,0.6464466094067263,0.6464466094067263,0.38762756430420553,1.0,0.5917517095361371,0.19821627426272692,0.2500000000000001,0.7958758547680685,0.5256583509747431,0.4696699141100894,0.6464466094067263,0.0,0.6464466094067263,0.6464466094067263,0.38762756430420553,0.5917517095361371,0.2783121635129677,0.8232233047033631,0.7327387580875757,0.5000000000000001,0.6464466094067263,0.6464466094067263,1.0,0.6464466094067263,0.5917517095361371,0.4107443490112105,0.19821627426272692,0.6464466094067263,0.4669982091109739,0.38762756430420553,0.6464466094067263 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +0.6666666666666666,0.5196155385847385,0.6666666666666666,0.7418011102528389,1.0,0.6666666666666666,0.5635642195280153,0.6726731646460113,0.6666666666666666,0.6666666666666666,0.5635642195280153,0.6666666666666666,1.0,1.0,0.5917517095361371,0.6666666666666666,0.33333333333333326,0.6666666666666666,0.7113248654051871,1.0,0.6666666666666666,0.6666666666666666,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.7418011102528389,1.0,1.0,1.0,0.6666666666666666,0.6666666666666666,0.4836022205056778,1.0,0.4836022205056778,0.7418011102528389,1.0,0.6666666666666666,0.8333333333333333,0.4836022205056778,1.0,0.33333333333333326,0.6666666666666666,0.6127016653792583,0.7418011102528389,1.0,0.38762756430420553,1.0,1.0,1.0,0.4836022205056778,0.7113248654051871,0.7418011102528389,1.0,0.5669872981077806,0.7642977396044841,1.0,0.5635642195280153,1.0,0.6666666666666666,0.4999999999999999,0.6127016653792583,0.7113248654051871,0.7113248654051871,0.8333333333333333,0.7113248654051871,0.7113248654051871,1.0,0.6127016653792583,0.8556624327025936,0.7113248654051871,0.4999999999999999,1.0,0.6666666666666666,0.454455274410019,0.28556549168823975,0.8333333333333333,0.6127016653792583,0.5669872981077806,0.7113248654051871,0.38762756430420553,0.7113248654051871,0.7113248654051871,0.0,0.6666666666666666,0.5285954792089682,0.8556624327025936,0.7817821097640076,0.5917517095361371,0.7113248654051871,0.7113248654051871,1.0,0.7113248654051871,0.8333333333333333,0.5188747756753118,0.454455274410019,0.7113248654051871,0.4777670321329065,0.4999999999999999,0.7113248654051871 +1.0,0.8398718461949128,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666666666666666,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,0.7418011102528389,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,0.4999999999999999,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7418011102528389,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,0.7418011102528389,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.7418011102528389,1.0,0.42264973081037416,0.33333333333333326,1.0,0.33333333333333326,0.5635642195280153,0.5917517095361371,0.6666666666666666,0.4836022205056778,0.42264973081037416,0.42264973081037416,0.5917517095361371,0.42264973081037416,0.42264973081037416,0.6666666666666666,0.0,0.7642977396044841,0.7113248654051871,0.5635642195280153,0.7958758547680685,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.42264973081037427,0.5635642195280153,0.42264973081037416,0.6518446880886043,0.33333333333333326,0.42264973081037416 +0.5285954792089682,0.32063377951324246,0.5285954792089682,0.6348516283298893,1.0,0.5285954792089682,0.38278660015163235,0.5370899501137243,0.5285954792089682,0.5285954792089682,0.38278660015163235,0.5285954792089682,1.0,1.0,0.42264973081037416,0.5285954792089682,0.2928932188134524,0.5285954792089682,0.3876275643042054,1.0,0.5285954792089682,0.5285954792089682,0.5917517095361369,1.0,1.0,0.7113248654051871,1.0,1.0,0.6348516283298893,1.0,1.0,1.0,0.5285954792089682,0.5285954792089682,0.26970325665977857,1.0,0.26970325665977857,0.6348516283298893,1.0,0.5285954792089682,0.7642977396044841,0.26970325665977857,1.0,0.5285954792089682,0.5285954792089682,0.4522774424948339,0.6348516283298893,1.0,0.42264973081037416,1.0,1.0,1.0,0.26970325665977857,0.3876275643042054,0.6348516283298893,1.0,0.5917517095361369,0.6666666666666666,1.0,0.38278660015163235,1.0,0.5285954792089682,0.5285954792089682,0.6348516283298893,1.0,1.0,1.0,1.0,1.0,1.0,0.6348516283298893,0.7958758547680684,1.0,0.5285954792089682,1.0,0.7642977396044841,0.07417990022744858,0.42264973081037416,0.7642977396044841,0.4522774424948339,0.5917517095361369,1.0,0.2783121635129677,1.0,1.0,0.5285954792089682,0.7642977396044841,0.0,1.0,0.8456966500379081,0.2783121635129677,1.0,1.0,1.0,1.0,0.7642977396044841,0.45566894604818264,0.07417990022744858,1.0,0.507634036082669,0.5285954792089682,1.0 +0.7113248654051871,0.8613249509436927,0.7113248654051871,1.0,1.0,0.7113248654051871,0.8110177634953863,1.0,0.7113248654051871,0.7113248654051871,1.0,0.7113248654051871,1.0,0.5,1.0,0.7113248654051871,0.8556624327025936,0.7113248654051871,0.75,0.5,0.7113248654051871,0.7113248654051871,1.0,1.0,0.5,1.0,0.5,0.5,1.0,1.0,1.0,1.0,0.7113248654051871,0.7113248654051871,0.7763932022500211,1.0,0.7763932022500211,1.0,1.0,0.7113248654051871,1.0,0.7763932022500211,1.0,0.7113248654051871,0.7113248654051871,0.7763932022500211,1.0,1.0,0.8232233047033631,0.5,1.0,1.0,0.7763932022500211,0.75,1.0,1.0,0.75,1.0,0.5,0.8110177634953863,0.5,0.7113248654051871,0.7113248654051871,0.7763932022500211,0.5,0.5,1.0,0.5,0.5,1.0,0.7763932022500211,0.75,0.5,0.7113248654051871,1.0,0.7113248654051871,0.8110177634953863,0.8232233047033631,0.7113248654051871,0.7763932022500211,0.75,0.5,0.8232233047033631,0.5,0.5,0.8556624327025936,0.7113248654051871,1.0,0.0,0.8110177634953863,1.0,0.5,0.5,1.0,0.5,1.0,0.8333333333333334,0.8110177634953863,0.5,0.8492443277111181,0.7113248654051871,0.5 +1.0,0.8951715163278082,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7817821097640076,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8309691490542968,1.0,0.8309691490542968,1.0,1.0,1.0,1.0,0.8309691490542968,1.0,0.6726731646460113,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.8309691490542968,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.5635642195280153,0.8309691490542968,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,0.6220355269907728,1.0,0.8309691490542968,1.0,0.6220355269907728,0.5635642195280153,1.0,0.5635642195280153,0.7142857142857143,0.7327387580875757,0.7817821097640076,0.6619382981085935,0.6220355269907728,0.6220355269907728,0.7327387580875757,0.6220355269907728,0.6220355269907728,0.7817821097640076,0.5635642195280153,0.8456966500379081,0.8110177634953863,0.0,0.8663693790437879,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,1.0,0.6220355269907728,0.7142857142857143,0.6220355269907728,0.772078847080724,0.5635642195280153,0.6220355269907728 +0.5917517095361371,0.411651594585448,0.5917517095361371,0.683772233983162,1.0,0.5917517095361371,0.4654775161751513,0.4654775161751513,0.5917517095361371,0.5917517095361371,0.4654775161751513,0.5917517095361371,1.0,1.0,0.5000000000000001,0.5917517095361371,0.38762756430420553,0.5917517095361371,0.6464466094067263,1.0,0.5917517095361371,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,0.683772233983162,1.0,1.0,1.0,0.5917517095361371,0.5917517095361371,0.3675444679663241,1.0,0.3675444679663241,0.683772233983162,1.0,0.5917517095361371,0.7958758547680685,0.3675444679663241,1.0,0.38762756430420553,0.5917517095361371,0.5256583509747431,0.683772233983162,1.0,0.5000000000000001,1.0,1.0,1.0,0.3675444679663241,0.6464466094067263,0.683772233983162,1.0,0.6464466094067263,0.7113248654051871,1.0,0.4654775161751513,1.0,0.5917517095361371,0.5917517095361371,0.683772233983162,1.0,1.0,1.0,1.0,1.0,1.0,0.5256583509747431,1.0,1.0,0.5917517095361371,1.0,0.7958758547680685,0.33184689521893906,0.5000000000000001,0.7958758547680685,0.5256583509747431,0.6464466094067263,1.0,0.5000000000000001,1.0,1.0,0.5917517095361371,0.7958758547680685,0.2783121635129677,1.0,0.8663693790437879,0.0,1.0,1.0,1.0,1.0,1.0,0.5285954792089684,0.33184689521893906,1.0,0.5735985672887791,0.5917517095361371,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6913933000758161,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,0.42264973081037416,1.0,1.0,0.5917517095361371,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,1.0,1.0,1.0,1.0,0.1339745962155613,1.0,1.0,1.0,1.0,0.7817821097640076,0.7958758547680685,1.0,1.0,1.0,1.0,0.5917517095361371,1.0,1.0,0.8333333333333333,1.0,0.7642977396044841,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.0,1.0,0.7817821097640076,1.0,1.0,1.0,1.0 +1.0,0.2603997383663611,1.0,0.40371520600005606,1.0,1.0,0.49604736932103044,0.49604736932103044,1.0,1.0,0.49604736932103044,1.0,1.0,1.0,1.0,1.0,0.23019964108049895,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,1.0,1.0,1.0,1.0,1.0,0.40371520600005606,1.0,0.40371520600005606,0.40371520600005606,1.0,1.0,0.6150998205402495,0.40371520600005606,1.0,0.5188747756753118,1.0,0.7018576030000281,0.40371520600005606,1.0,0.5285954792089684,1.0,1.0,1.0,0.40371520600005606,1.0,0.40371520600005606,1.0,1.0,0.45566894604818264,1.0,0.49604736932103044,1.0,1.0,0.037749551350623745,0.2546440075000701,0.6666666666666667,0.6666666666666667,1.0,0.6666666666666667,0.6666666666666667,1.0,0.5527864045000421,1.0,0.6666666666666667,0.037749551350623745,1.0,0.42264973081037427,0.37005921165128797,0.4107443490112105,0.8075499102701247,0.2546440075000701,0.16666666666666663,0.6666666666666667,0.4107443490112105,0.6666666666666667,0.6666666666666667,0.5188747756753118,0.42264973081037427,0.45566894604818264,0.8333333333333334,0.6220355269907728,0.5285954792089684,0.6666666666666667,0.6666666666666667,1.0,0.6666666666666667,1.0,0.0,0.37005921165128797,0.6666666666666667,0.49748109237039395,0.037749551350623745,0.6666666666666667 +0.5635642195280153,0.371029097966849,0.5635642195280153,0.6619382981085935,1.0,0.5635642195280153,0.4285714285714286,0.5714285714285715,0.5635642195280153,0.5635642195280153,0.4285714285714286,0.5635642195280153,1.0,1.0,0.4654775161751513,0.5635642195280153,0.3453463292920228,0.5635642195280153,0.43305329048615915,1.0,0.5635642195280153,0.5635642195280153,0.6220355269907728,1.0,1.0,0.7327387580875757,1.0,1.0,0.6619382981085935,1.0,1.0,1.0,0.5635642195280153,0.5635642195280153,0.3238765962171869,1.0,0.3238765962171869,0.6619382981085935,1.0,0.5635642195280153,0.7817821097640076,0.3238765962171869,1.0,0.454455274410019,0.5635642195280153,0.49290744716289014,0.6619382981085935,1.0,0.4654775161751513,1.0,1.0,1.0,0.3238765962171869,0.43305329048615915,0.6619382981085935,1.0,0.6220355269907728,0.6913933000758161,1.0,0.4285714285714286,1.0,0.5635642195280153,0.3453463292920228,0.49290744716289014,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,0.6220355269907728,1.0,0.49290744716289014,0.8110177634953863,0.6220355269907728,0.3453463292920228,1.0,0.5635642195280153,1.1102230246251565E-16,0.33184689521893906,0.5635642195280153,0.3238765962171869,0.43305329048615915,0.6220355269907728,0.19821627426272692,0.6220355269907728,0.6220355269907728,0.454455274410019,0.5635642195280153,0.07417990022744858,0.8110177634953863,0.7142857142857143,0.33184689521893906,0.6220355269907728,0.6220355269907728,1.0,0.6220355269907728,0.7817821097640076,0.37005921165128797,0.0,0.6220355269907728,0.43019711770181024,0.3453463292920228,0.6220355269907728 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 +0.6518446880886043,0.49825479399574546,0.6518446880886043,0.7303200550147031,1.0,0.6518446880886043,0.5441576941614482,0.6581182706210862,0.6518446880886043,0.6518446880886043,0.5441576941614482,0.6518446880886043,1.0,1.0,0.5735985672887791,0.6518446880886043,0.4777670321329065,0.6518446880886043,0.6984886554222364,1.0,0.6518446880886043,0.6518446880886043,1.0,1.0,1.0,1.0,1.0,1.0,0.7303200550147031,1.0,1.0,1.0,0.6518446880886043,0.6518446880886043,0.4606401100294063,1.0,0.4606401100294063,0.7303200550147031,1.0,0.6518446880886043,0.8259223440443022,0.4606401100294063,1.0,0.4777670321329065,0.6518446880886043,0.5954800825220548,0.7303200550147031,1.0,0.5735985672887791,1.0,1.0,1.0,0.4606401100294063,0.6984886554222364,0.7303200550147031,1.0,0.6984886554222364,0.7538170180413345,1.0,0.5441576941614482,1.0,0.6518446880886043,0.4777670321329065,0.5954800825220548,0.6984886554222364,0.6984886554222364,1.0,0.6984886554222364,0.6984886554222364,1.0,0.5954800825220548,1.0,0.6984886554222364,0.4777670321329065,1.0,0.6518446880886043,0.43019711770181024,0.3603978509331687,0.8259223440443022,0.5954800825220548,0.5477329831333546,0.6984886554222364,0.4669982091109739,0.6984886554222364,0.6984886554222364,0.4777670321329065,0.6518446880886043,0.507634036082669,0.8492443277111181,0.772078847080724,0.5735985672887791,0.6984886554222364,0.6984886554222364,1.0,0.6984886554222364,1.0,0.49748109237039395,0.43019711770181024,0.6984886554222364,0.0,0.4777670321329065,0.6984886554222364 +1.0,0.35948738477965136,1.0,0.4836022205056778,1.0,1.0,0.5635642195280153,0.5635642195280153,1.0,1.0,0.5635642195280153,1.0,1.0,1.0,1.0,1.0,0.33333333333333326,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,1.0,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,0.4836022205056778,1.0,1.0,0.6666666666666666,0.4836022205056778,1.0,0.4999999999999999,1.0,0.7418011102528389,0.4836022205056778,1.0,0.5917517095361371,1.0,1.0,1.0,0.4836022205056778,1.0,0.4836022205056778,1.0,1.0,0.5285954792089682,1.0,0.5635642195280153,1.0,1.0,-2.220446049250313E-16,0.2254033307585166,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,0.42264973081037416,1.0,0.4836022205056778,1.0,0.42264973081037416,-2.220446049250313E-16,1.0,0.33333333333333326,0.3453463292920228,0.38762756430420553,0.6666666666666666,0.2254033307585166,0.1339745962155613,0.42264973081037416,0.38762756430420553,0.42264973081037416,0.42264973081037416,0.4999999999999999,0.33333333333333326,0.5285954792089682,0.7113248654051871,0.5635642195280153,0.5917517095361371,0.42264973081037416,0.42264973081037416,1.0,0.42264973081037416,1.0,0.037749551350623745,0.3453463292920228,0.42264973081037416,0.4777670321329065,0.0,0.42264973081037416 +1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.7113248654051871,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.42264973081037416,0.5527864045000421,0.0,0.0,1.0,0.0,0.0,1.0,0.5527864045000421,1.0,0.0,0.42264973081037416,1.0,0.42264973081037416,0.6220355269907728,0.6464466094067263,0.42264973081037416,0.5527864045000421,0.5,0.0,0.6464466094067263,0.0,0.0,0.7113248654051871,0.42264973081037416,1.0,0.5,0.6220355269907728,1.0,0.0,0.0,1.0,0.0,1.0,0.6666666666666667,0.6220355269907728,0.0,0.6984886554222364,0.42264973081037416,0.0 diff --git a/SQLFeatureExtraction/src/main/java/featureEngineering/CombinedRegularizer.java b/SQLFeatureExtraction/src/main/java/featureEngineering/CombinedRegularizer.java index df52405..77c5bf2 100644 --- a/SQLFeatureExtraction/src/main/java/featureEngineering/CombinedRegularizer.java +++ b/SQLFeatureExtraction/src/main/java/featureEngineering/CombinedRegularizer.java @@ -15,10 +15,10 @@ public class CombinedRegularizer { * @param input */ public static SelectBody regularize(SelectBody body){ - body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(body); + body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(body, true); body=FROMNestingCoalescer.FromNestingCoalesceSelectBody(body); - body=UNIONPULLer.UnionPullUpFromSelectBody(body, true); - return body; + body=UNIONPULLer.UnionPullUpFromSelectBody(body, true); + return body; } diff --git a/SQLFeatureExtraction/src/main/java/featureEngineering/FROMNestingCoalescer.java b/SQLFeatureExtraction/src/main/java/featureEngineering/FROMNestingCoalescer.java index e97e5be..950b1bd 100644 --- a/SQLFeatureExtraction/src/main/java/featureEngineering/FROMNestingCoalescer.java +++ b/SQLFeatureExtraction/src/main/java/featureEngineering/FROMNestingCoalescer.java @@ -144,11 +144,12 @@ private static SelectBody FromNestingCoalescePlainSelect(PlainSelect ps){ if(from instanceof SubSelect){ SubSelect sub=(SubSelect) from; - //check whether it is an aggregation + boolean pass=true; SelectBody body=sub.getSelectBody(); if(body instanceof PlainSelect){ PlainSelect pps=(PlainSelect) body; + //check whether it is an aggregation if(QueryToolBox.ifContainAggregate(pps)){ //if this query has only this sub-select as FromItem //we can safely merge @@ -174,8 +175,8 @@ private static SelectBody FromNestingCoalescePlainSelect(PlainSelect ps){ } } else{ - //we cannot coalece UNION directly, need to pull up UNION first - System.out.println("error, UNION should not happen in FromNesting step, need to be pulled up first! "+ps); + //TODO + System.out.println("UNION happens in FromNesting step, should be pulled up first! "+ps); pass=false; Union u=(Union) body; @SuppressWarnings("unchecked") @@ -245,8 +246,8 @@ private static SelectBody FromNestingCoalescePlainSelect(PlainSelect ps){ } } else{ - //we cannot coalece UNION directly, need to pull up UNION first - System.out.println("error, UNION should not happen in FromNesting step, need to be pulled up first! "+ps); + //TODO + System.out.println("UNION happens in FromNesting step, should be pulled up first! "+ps); pass=false; Union u=(Union) body; @SuppressWarnings("unchecked") diff --git a/SQLFeatureExtraction/src/main/java/featureEngineering/PlainSelectNamingResolver.java b/SQLFeatureExtraction/src/main/java/featureEngineering/PlainSelectNamingResolver.java index 25a574e..07c4eae 100644 --- a/SQLFeatureExtraction/src/main/java/featureEngineering/PlainSelectNamingResolver.java +++ b/SQLFeatureExtraction/src/main/java/featureEngineering/PlainSelectNamingResolver.java @@ -2,10 +2,11 @@ import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.List; +import com.google.common.collect.HashMultiset; + import net.sf.jsqlparser.expression.AllComparisonExpression; import net.sf.jsqlparser.expression.AnyComparisonExpression; import net.sf.jsqlparser.expression.BinaryExpression; @@ -948,16 +949,16 @@ public void registerColumn(Column c){ Table t=c.getTable(); if(t!=null&&t.getName()!=null&&c.getColumnName()!=null){ //register table-col map - HashSet<String> columnset=SelectNamingResolver.schemaMap.get(t.getName()); + HashMultiset<String> columnset=SelectNamingResolver.schemaMap.get(t.getName()); if(columnset==null){ - columnset=new HashSet<String>(); + columnset=HashMultiset.create(); SelectNamingResolver.schemaMap.put(t.getName(), columnset); } columnset.add(c.getColumnName()); //register col-table map - HashSet<String> tableset=SelectNamingResolver.antiSchemaMap.get(c.getColumnName()); + HashMultiset<String> tableset=SelectNamingResolver.antiSchemaMap.get(c.getColumnName()); if(tableset==null){ - tableset=new HashSet<String>(); + tableset=HashMultiset.create(); SelectNamingResolver.antiSchemaMap.put(c.getColumnName(), tableset); } tableset.add(t.getName()); diff --git a/SQLFeatureExtraction/src/main/java/featureEngineering/PredicateNestingCoalescer.java b/SQLFeatureExtraction/src/main/java/featureEngineering/PredicateNestingCoalescer.java index d33aeb2..d8af749 100644 --- a/SQLFeatureExtraction/src/main/java/featureEngineering/PredicateNestingCoalescer.java +++ b/SQLFeatureExtraction/src/main/java/featureEngineering/PredicateNestingCoalescer.java @@ -52,19 +52,19 @@ public class PredicateNestingCoalescer { private static final Column c = new Column(new Table(), "Multiplicity"); private static final BooleanLiteral minusMark = new BooleanLiteral(new FixedOrderExpression(new EqualsTo(c, new LongValue(-1)))); - public static SelectBody predicateNestingCoalesceSelectBody(SelectBody body) { + public static SelectBody predicateNestingCoalesceSelectBody(SelectBody body, boolean ignoreAggregate) { //need to do DNFUNION Transformer first body=DNFUNIONTransformer.UnionTransformSelectBody(body); // System.out.println("after DNFUnionTransform: "+body); if (body instanceof PlainSelect) - return predicateNestingCoalescePlainSelect((PlainSelect) body); + return predicateNestingCoalescePlainSelect((PlainSelect) body, true); else { Union u = (Union) body; @SuppressWarnings("unchecked") List<PlainSelect> plist = u.getPlainSelects(); List<PlainSelect> newplist = new ArrayList<PlainSelect>(); for (PlainSelect ps : plist) { - SelectBody b = predicateNestingCoalescePlainSelect(ps); + SelectBody b = predicateNestingCoalescePlainSelect(ps, true); if (b instanceof PlainSelect) newplist.add((PlainSelect) b); else { @@ -79,7 +79,7 @@ public static SelectBody predicateNestingCoalesceSelectBody(SelectBody body) { } } - private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { + private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps, boolean ignoreAggregate) { // ignore having // search through where clause since this query has already been DNF // normalized @@ -104,14 +104,18 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { // remove this literal first it.remove(); //regularize exists first - sub.setSelectBody(predicateNestingCoalesceSelectBody(sub.getSelectBody())); + sub.setSelectBody(predicateNestingCoalesceSelectBody(sub.getSelectBody(), true)); //check if the sub-select body contains aggregation or not SelectBody body=sub.getSelectBody(); boolean pass=true; if(body instanceof PlainSelect){ PlainSelect pps=(PlainSelect) body; - if(QueryToolBox.ifContainAggregate(pps)) + if(QueryToolBox.ifContainAggregate(pps)){ + if(ignoreAggregate) + pass=true; + else pass=false; + } } else{ Union u=(Union) body; @@ -119,7 +123,11 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { List<PlainSelect> plist=u.getPlainSelects(); for(PlainSelect pps: plist){ if(QueryToolBox.ifContainAggregate(pps)){ + if(ignoreAggregate) + pass=true; + else pass=false; + break; } } @@ -136,7 +144,7 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { // for case of EXISTS if (!exists.isNot()) { //regularize host - SelectBody regularizedHost=predicateNestingCoalescePlainSelect(host); + SelectBody regularizedHost=predicateNestingCoalescePlainSelect(host, ignoreAggregate); if(regularizedHost instanceof PlainSelect){ PlainSelect p=(PlainSelect) regularizedHost; @@ -185,8 +193,8 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { else{ cfq.setWhere(exists); } - SelectBody regularizedpfq=predicateNestingCoalescePlainSelect(pfq); - SelectBody regularizedcfq=predicateNestingCoalescePlainSelect(cfq); + SelectBody regularizedpfq=predicateNestingCoalescePlainSelect(pfq, ignoreAggregate); + SelectBody regularizedcfq=predicateNestingCoalescePlainSelect(cfq, ignoreAggregate); //prepare result Union u=new Union(); List<PlainSelect> plist=new ArrayList<PlainSelect>(); @@ -234,7 +242,7 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { host.setWhere(null); //regularize the rest of the query besides this exists expression - SelectBody regularizedHost=predicateNestingCoalescePlainSelect(host); + SelectBody regularizedHost=predicateNestingCoalescePlainSelect(host, ignoreAggregate); //add this exists expression back if(regularizedHost instanceof PlainSelect){ PlainSelect pps=(PlainSelect) regularizedHost; @@ -283,7 +291,7 @@ private static SelectBody predicateNestingCoalescePlainSelect(PlainSelect ps) { private static void predicateNestingCoalesceFromItem(FromItem from){ if(from instanceof SubSelect){ SubSelect sub=(SubSelect) from; - sub.setSelectBody(predicateNestingCoalesceSelectBody(sub.getSelectBody())); + sub.setSelectBody(predicateNestingCoalesceSelectBody(sub.getSelectBody(), true)); } else if(from instanceof SubJoin){ SubJoin sub=(SubJoin) from; @@ -353,7 +361,7 @@ private static ExistsExpression convertExistsFromBooleanLiteral(BooleanLiteral l //do predicate nesting coalesce to the exists SubSelect sub=(SubSelect) exist.getRightExpression(); SelectBody body=sub.getSelectBody(); - sub.setSelectBody(PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(body)); + sub.setSelectBody(PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(body, true)); return exist; } else if (exp instanceof InExpression){ @@ -463,14 +471,14 @@ private static ExistsExpression createExistsFromBinary(BinaryExpression bexp) { if (right instanceof AllComparisonExpression) { SubSelect sub = ((AllComparisonExpression) right).getSubSelect(); - SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody()); + SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody(), true); adjustSelectBodyConsiderNotExists(body,bexp); sub.setSelectBody(body); exists.setNot(true); exists.setRightExpression(sub); } else if (right instanceof AnyComparisonExpression) { SubSelect sub = ((AnyComparisonExpression) right).getSubSelect(); - SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody()); + SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody(), true); adjustSelectBodyConsiderExists(body,bexp); sub.setSelectBody(body); exists.setNot(false); @@ -479,7 +487,7 @@ private static ExistsExpression createExistsFromBinary(BinaryExpression bexp) { // treated exactly as ANY comparison else if (right instanceof SubSelect) { SubSelect sub = (SubSelect) right; - SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody()); + SelectBody body=PredicateNestingCoalescer.predicateNestingCoalesceSelectBody(sub.getSelectBody(), true); adjustSelectBodyConsiderExists(body,bexp); sub.setSelectBody(body); exists.setNot(false); diff --git a/SQLFeatureExtraction/src/main/java/featureEngineering/SelectNamingResolver.java b/SQLFeatureExtraction/src/main/java/featureEngineering/SelectNamingResolver.java index 00952d3..05d80b6 100644 --- a/SQLFeatureExtraction/src/main/java/featureEngineering/SelectNamingResolver.java +++ b/SQLFeatureExtraction/src/main/java/featureEngineering/SelectNamingResolver.java @@ -6,6 +6,8 @@ import java.util.IdentityHashMap; import java.util.List; +import com.google.common.collect.HashMultiset; + import net.sf.jsqlparser.expression.AllComparisonExpression; import net.sf.jsqlparser.expression.AnyComparisonExpression; import net.sf.jsqlparser.expression.BinaryExpression; @@ -56,8 +58,9 @@ public class SelectNamingResolver{ //canonical names for select body,global public HashMap<SelectBody, Table> CanonicalNames; public SelectBody transformedSelectBody; - public static HashMap<String,HashSet<String>> schemaMap=new HashMap<String,HashSet<String>>(); - public static HashMap<String,HashSet<String>> antiSchemaMap=new HashMap<String,HashSet<String>>(); + public static HashMap<String,HashMultiset<String>> schemaMap=new HashMap<String,HashMultiset<String>>(); + public static HashMap<String,HashMultiset<String>> antiSchemaMap=new HashMap<String,HashMultiset<String>>(); + public static HashSet<Integer> indices=new HashSet<Integer>(); public SelectNamingResolver(Select input,boolean simplified){ selectBodyBelongMap=new IdentityHashMap<SelectBody,SelectBodyNamingResolver>(); @@ -442,9 +445,9 @@ private void replaceSelectBodyWithUppercase(SelectBody body){ } } - public static List<String> giveTableNamesInSelectBody(SelectBody body){ + public static List<String> giveTableNamesInSelectBody(SelectBody body,Integer index){ if(body instanceof PlainSelect){ - return giveTableNamesInPlainSelect((PlainSelect) body); + return giveTableNamesInPlainSelect((PlainSelect) body,index); } else{ List<String> tablelist=new ArrayList<String>(); @@ -452,24 +455,24 @@ public static List<String> giveTableNamesInSelectBody(SelectBody body){ @SuppressWarnings("unchecked") List<PlainSelect> plist=u.getPlainSelects(); for(PlainSelect ps: plist){ - tablelist.addAll(giveTableNamesInPlainSelect(ps)); + tablelist.addAll(giveTableNamesInPlainSelect(ps,index)); } return tablelist; } } - private static List<String> giveTableNamesInPlainSelect(PlainSelect ps){ + private static List<String> giveTableNamesInPlainSelect(PlainSelect ps,Integer index){ List<String> tablelist=new ArrayList<String>(); //for from items FromItem from=ps.getFromItem(); - tablelist.addAll(giveTableNamesInFromItem(from,tablelist)); + tablelist.addAll(giveTableNamesInFromItem(from,tablelist,index)); //for joins if(ps.getJoins()!=null){ @SuppressWarnings("unchecked") List<Join> joins=ps.getJoins(); for(Join j:joins) - tablelist.addAll(giveTableNamesInJoin(j,tablelist)); + tablelist.addAll(giveTableNamesInJoin(j,tablelist,index)); } //for select items @@ -478,20 +481,20 @@ private static List<String> giveTableNamesInPlainSelect(PlainSelect ps){ for (SelectItem sitem:slist){ if(sitem instanceof SelectExpressionItem){ SelectExpressionItem sexpitem=(SelectExpressionItem) sitem; - sexpitem.setExpression(giveTableNamesInExpression(sexpitem.getExpression(), tablelist)); + sexpitem.setExpression(giveTableNamesInExpression(sexpitem.getExpression(), tablelist,index)); } } //for where clause if(ps.getWhere()!=null) - ps.setWhere(giveTableNamesInExpression(ps.getWhere(), tablelist)); + ps.setWhere(giveTableNamesInExpression(ps.getWhere(), tablelist,index)); //for having if(ps.getHaving()!=null) - ps.setHaving(giveTableNamesInExpression(ps.getHaving(), tablelist)); + ps.setHaving(giveTableNamesInExpression(ps.getHaving(), tablelist,index)); //for orderby if(ps.getOrderByElements()!=null){ List<OrderByElement> orderbylist=new ArrayList<OrderByElement>(); for(OrderByElement ele: orderbylist){ - ele.setExpression(giveTableNamesInExpression(ele.getExpression(), tablelist)); + ele.setExpression(giveTableNamesInExpression(ele.getExpression(), tablelist,index)); } } //for groupby @@ -500,32 +503,32 @@ private static List<String> giveTableNamesInPlainSelect(PlainSelect ps){ List<Expression> explist=ps.getGroupByColumnReferences(); List<Expression> newexplist=new ArrayList<Expression>(); for(Expression exp:explist) - newexplist.add(giveTableNamesInExpression(exp, tablelist)); + newexplist.add(giveTableNamesInExpression(exp, tablelist,index)); ps.setGroupByColumnReferences(newexplist); } return tablelist; } - private static Expression giveTableNamesInExpression(Expression exp, List<String> tableset){ + private static Expression giveTableNamesInExpression(Expression exp, List<String> tableset,Integer index){ if(exp instanceof BinaryExpression){ BinaryExpression bexp=(BinaryExpression) exp; Expression left=bexp.getLeftExpression(); Expression right=bexp.getRightExpression(); - bexp.setLeftExpression(giveTableNamesInExpression(left, tableset)); - bexp.setRightExpression(giveTableNamesInExpression(right, tableset)); + bexp.setLeftExpression(giveTableNamesInExpression(left, tableset,index)); + bexp.setRightExpression(giveTableNamesInExpression(right, tableset,index)); return bexp; } else if(exp instanceof AllComparisonExpression){ AllComparisonExpression all=(AllComparisonExpression) exp; SubSelect sub=all.getSubSelect(); - giveTableNamesInSelectBody(sub.getSelectBody()); + giveTableNamesInSelectBody(sub.getSelectBody(),index); return all; } else if(exp instanceof AnyComparisonExpression){ AnyComparisonExpression any=(AnyComparisonExpression) exp; SubSelect sub=any.getSubSelect(); - giveTableNamesInSelectBody(sub.getSelectBody()); + giveTableNamesInSelectBody(sub.getSelectBody(),index); return any; } else if(exp instanceof Between){ @@ -533,24 +536,24 @@ else if(exp instanceof Between){ Expression left=between.getLeftExpression(); Expression start=between.getBetweenExpressionStart(); Expression end=between.getBetweenExpressionEnd(); - between.setLeftExpression(giveTableNamesInExpression(left, tableset)); - between.setBetweenExpressionStart(giveTableNamesInExpression(start, tableset)); - between.setBetweenExpressionEnd(giveTableNamesInExpression(end, tableset)); + between.setLeftExpression(giveTableNamesInExpression(left, tableset,index)); + between.setBetweenExpressionStart(giveTableNamesInExpression(start, tableset,index)); + between.setBetweenExpressionEnd(giveTableNamesInExpression(end, tableset,index)); return between; } else if (exp instanceof CaseExpression){ CaseExpression caseexp=(CaseExpression) exp; Expression elseexp=caseexp.getElseExpression(); if(elseexp!=null) - caseexp.setElseExpression(giveTableNamesInExpression(caseexp.getElseExpression(), tableset)); + caseexp.setElseExpression(giveTableNamesInExpression(caseexp.getElseExpression(), tableset,index)); Expression sw=caseexp.getSwitchExpression(); if(sw!=null) caseexp.setSwitchExpression(caseexp.getSwitchExpression()); @SuppressWarnings("unchecked") List<WhenClause> wclist=caseexp.getWhenClauses(); for(WhenClause wc:wclist){ - wc.setThenExpression(giveTableNamesInExpression(wc.getThenExpression(), tableset)); - wc.setWhenExpression(giveTableNamesInExpression(wc.getWhenExpression(), tableset)); + wc.setThenExpression(giveTableNamesInExpression(wc.getThenExpression(), tableset,index)); + wc.setWhenExpression(giveTableNamesInExpression(wc.getWhenExpression(), tableset,index)); } return caseexp; } @@ -559,15 +562,17 @@ else if (exp instanceof Column){ Table t=c.getTable(); if(t==null||t.getName()==null){ Table matchedTable=findBestMatchedTable(c,tableset); - if(matchedTable!=null) + if(matchedTable!=null){ c.setTable(matchedTable); + SelectNamingResolver.indices.add(index); + } } return c; } else if(exp instanceof ExistsExpression){ ExistsExpression exists=(ExistsExpression) exp; - exists.setRightExpression(giveTableNamesInExpression(exists.getRightExpression(), tableset)); + exists.setRightExpression(giveTableNamesInExpression(exists.getRightExpression(), tableset,index)); return exists; } else if (exp instanceof Function){ @@ -578,44 +583,44 @@ else if (exp instanceof Function){ List<Expression> elist=explist.getExpressions(); List<Expression> newelist=new ArrayList<Expression>(); for(Expression e:elist) - newelist.add(giveTableNamesInExpression(e, tableset)); + newelist.add(giveTableNamesInExpression(e, tableset,index)); explist.setExpressions(newelist); } return f; } else if (exp instanceof InExpression){ InExpression inexp=(InExpression) exp; - inexp.setLeftExpression(giveTableNamesInExpression(inexp.getLeftExpression(), tableset)); + inexp.setLeftExpression(giveTableNamesInExpression(inexp.getLeftExpression(), tableset,index)); ItemsList ilist=inexp.getItemsList(); if(ilist instanceof SubSelect){ SubSelect sub=(SubSelect) ilist; - giveTableNamesInSelectBody(sub.getSelectBody()); + giveTableNamesInSelectBody(sub.getSelectBody(),index); } return inexp; } else if (exp instanceof InverseExpression){ InverseExpression inv=(InverseExpression) exp; - inv.setExpression(giveTableNamesInExpression(inv.getExpression(), tableset)); + inv.setExpression(giveTableNamesInExpression(inv.getExpression(), tableset,index)); return inv; } else if (exp instanceof Parenthesis){ Parenthesis p=(Parenthesis) exp; - p.setExpression(giveTableNamesInExpression(p.getExpression(), tableset)); + p.setExpression(giveTableNamesInExpression(p.getExpression(), tableset,index)); return p; } else if (exp instanceof SubSelect){ SubSelect sub=(SubSelect) exp; - giveTableNamesInSelectBody(sub.getSelectBody()); + giveTableNamesInSelectBody(sub.getSelectBody(),index); return sub; } else if (exp instanceof IsNullExpression){ IsNullExpression isnull=(IsNullExpression) exp; - isnull.setLeftExpression(giveTableNamesInExpression(isnull.getLeftExpression(), tableset)); + isnull.setLeftExpression(giveTableNamesInExpression(isnull.getLeftExpression(), tableset,index)); return isnull; } else if (exp instanceof LikeExpression){ LikeExpression like=(LikeExpression) exp; - like.setLeftExpression(giveTableNamesInExpression(like.getLeftExpression(), tableset)); + like.setLeftExpression(giveTableNamesInExpression(like.getLeftExpression(), tableset,index)); return like; } else @@ -623,23 +628,23 @@ else if (exp instanceof LikeExpression){ } - private static List<String> giveTableNamesInJoin(Join j,List<String> tset){ + private static List<String> giveTableNamesInJoin(Join j,List<String> tset,Integer index){ List<String> tableset=new ArrayList<String>(); List<String> tableset1=new ArrayList<String>(); tableset1.addAll(tset); FromItem from=j.getRightItem(); - tableset.addAll(giveTableNamesInFromItem(from,tableset)); + tableset.addAll(giveTableNamesInFromItem(from,tableset,index)); tableset1.addAll(tableset); if(j.getOnExpression()!=null){ - j.setOnExpression(giveTableNamesInExpression(j.getOnExpression(), tableset1)); + j.setOnExpression(giveTableNamesInExpression(j.getOnExpression(), tableset1,index)); } if(j.getUsingColumns()!=null){ @SuppressWarnings("unchecked") List<Expression> clist=j.getUsingColumns(); List<Expression> newclist=new ArrayList<Expression>(); for(Expression exp:clist){ - newclist.add(giveTableNamesInExpression(exp, tableset1)); + newclist.add(giveTableNamesInExpression(exp, tableset1,index)); } j.setUsingColumns(newclist); } @@ -647,11 +652,11 @@ private static List<String> giveTableNamesInJoin(Join j,List<String> tset){ return tableset; } - private static List<String> giveTableNamesInFromItem(FromItem from,List<String> tset){ + private static List<String> giveTableNamesInFromItem(FromItem from,List<String> tset,Integer index){ if(from instanceof SubSelect){ SubSelect sub=(SubSelect) from; - return giveTableNamesInSelectBody(sub.getSelectBody()); + return giveTableNamesInSelectBody(sub.getSelectBody(),index); } else if (from instanceof SubJoin){ List<String> tableset=new ArrayList<String>(); @@ -659,9 +664,9 @@ else if (from instanceof SubJoin){ tableset1.addAll(tset); SubJoin subj=(SubJoin) from; Join j=subj.getJoin(); - tableset.addAll(giveTableNamesInFromItem(subj.getLeft(),tableset1)); + tableset.addAll(giveTableNamesInFromItem(subj.getLeft(),tableset1,index)); tableset1.addAll(tableset); - tableset.addAll(giveTableNamesInJoin(j,tableset1)); + tableset.addAll(giveTableNamesInJoin(j,tableset1,index)); return tableset; } else { @@ -673,16 +678,20 @@ else if (from instanceof SubJoin){ } private static Table findBestMatchedTable(Column c,List<String> involvedTables){ - HashSet<String> candidateTables=antiSchemaMap.get(c.getColumnName()); + HashMultiset<String> candidateTables=antiSchemaMap.get(c.getColumnName()); if(candidateTables!=null){ + String bestmatch=null; + int occurrence=Integer.MIN_VALUE; for (String tname: involvedTables){ - if(candidateTables.contains(tname)){ - Table t=new Table(); - t.setName(tname); - return t; - } + int occur= candidateTables.count(tname); + if(occur>0&&occur>occurrence){ + occurrence=occur; + bestmatch=tname; + } } - return null; + Table t=new Table(); + t.setName(bestmatch); + return t; } else return null; } diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/ConditionalTree.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/ConditionalTree.java new file mode 100644 index 0000000..9f83358 --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/ConditionalTree.java @@ -0,0 +1,281 @@ +package fpTreeDataStructure; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; + + +/** + * this tree stores paths that: + * conditioned on the existence of one item listed in 'white list' (with support greater than threshold) + * based on its parent conditional tree, one can create a conditional tree furthered conditioned on some item: + * e.g. if the parent is conditioned on item X, then a child can be created by further conditioned on Y, which means + * the child is conditioned on X,Y both appears + * @author Ting + * + */ +public class ConditionalTree { + private int supportThreshold; + private HashMap<SortableItem,Integer> totalFrequencyMap=new HashMap<SortableItem,Integer>();//keep track of totalFrequency of all 1-item sets + private ConditionalTree parent; + private SortableItem conditionedItem;//the item that this conditional tree is conditioned on + private FP_InferenceTree fptree; + private int totalCount; + private HashMap<Integer,HashMap<Integer,SortableItem>> itemMap;//its own sortable item map two keys itemID+occurrence + private double hconfidence; + private HashMap<SortableItem,Integer> rootTotalFrequencyMap; + private int maxCount; + + /** + * create and initialize a conditional tree + * @param supportThreshold + * @param content + * @param conditionedItem + */ + public ConditionalTree(int supportThreshold,SortableItem conditionedItem,ConditionalTree parent,int totalCount){ + this.supportThreshold=supportThreshold; + this.parent=parent; + this.conditionedItem=conditionedItem; + String extension="_"+conditionedItem.toString(); + String path=parent.getItsFPTree().getPath()+extension; + String dumppath=parent.getItsFPTree().getDumpPath()+extension; + this.fptree=new FP_InferenceTree(path,dumppath); + this.totalCount=totalCount; + this.itemMap=parent.itemMap; + } + + /** + * create and initialize a conditional tree + * @param supportThreshold + * @param content + * @param conditionedItem + */ + public ConditionalTree(double hconfidence,SortableItem conditionedItem,ConditionalTree parent,int totalCount){ + this.hconfidence=hconfidence; + this.parent=parent; + this.conditionedItem=conditionedItem; + String extension="_"+conditionedItem.toString(); + String path=parent.getItsFPTree().getPath()+extension; + String dumppath=parent.getItsFPTree().getDumpPath()+extension; + this.fptree=new FP_InferenceTree(path,dumppath); + this.totalCount=totalCount; + this.itemMap=parent.itemMap; + this.rootTotalFrequencyMap=parent.rootTotalFrequencyMap; + + int mycount=this.rootTotalFrequencyMap.get(this.conditionedItem); + + if(mycount>parent.maxCount) + this.maxCount=mycount; + else + this.maxCount=parent.maxCount; + + } + + public ConditionalTree(int supportThreshold,FP_InferenceTree fptree,HashMap<Integer,HashMap<Integer,SortableItem>> itemMap){ + this.supportThreshold=supportThreshold; + this.fptree=fptree; + //update its totalFrequency map + HashMap<SortableItem, HashSet<FPNode>> trackMap=fptree.getTrackMap(); + for (Entry<SortableItem, HashSet<FPNode>> en: trackMap.entrySet()){ + SortableItem sitem=en.getKey(); + int count=0; + for (FPNode node: en.getValue()){ + count+=node.getCount(); + } + this.totalFrequencyMap.put(sitem, count); + } + //we do not need this info here + this.totalCount=-1; + this.itemMap=itemMap; + } + + public ConditionalTree(double hconfidence,FP_InferenceTree fptree,HashMap<Integer,HashMap<Integer,SortableItem>> itemMap){ + this.hconfidence=hconfidence; + this.fptree=fptree; + //update its totalFrequency map + HashMap<SortableItem, HashSet<FPNode>> trackMap=fptree.getTrackMap(); + for (Entry<SortableItem, HashSet<FPNode>> en: trackMap.entrySet()){ + SortableItem sitem=en.getKey(); + int count=0; + for (FPNode node: en.getValue()){ + count+=node.getCount(); + } + this.totalFrequencyMap.put(sitem, count); + } + //we do not need this info here + this.totalCount=-1; + this.itemMap=itemMap; + this.rootTotalFrequencyMap=this.totalFrequencyMap; + this.maxCount=-1; + } + + public ConditionalTree getParent(){ + return this.parent; + } + + + public SortableItem getConditionedItem(){ + return this.conditionedItem; + } + + public FP_InferenceTree getItsFPTree(){ + return this.fptree; + } + + /** + * feed the FP tree inside the conditional tree with FPPaths + * needs to update the total frequency of all consumed sortable items + * totalFrequencyMap will be built after this step + * a must-have step before using function pruneTree() + * @param path + */ + private void feedInFPPath(FPPath path){ + //accumulate the total frequency of each sortable item met in the path + for(FPNode node:path.getList()){ + SortableItem sitem=node.getSortableItem(); + Integer oldcount=this.totalFrequencyMap.get(sitem); + if(oldcount==null) + this.totalFrequencyMap.put(sitem,0+node.getCount()); + else + this.totalFrequencyMap.put(sitem,oldcount+node.getCount()); + } + this.fptree.consume(path); + } + + /** + * get frequent patterns that pass the support threshold from this conditional tree + * @return + */ + public HashMap<SortableItemSet,Integer> getFrequentPatterns(){ + HashMap<SortableItemSet,Integer> result=new HashMap<SortableItemSet,Integer>(); + + //first we get a white list of items + HashMap<SortableItem,Integer> whitelist=new HashMap<SortableItem,Integer>(); + List<SortableItem> sortedList=new ArrayList<SortableItem>(); + + for(Entry<SortableItem, HashSet<FPNode>> en: this.fptree.getTrackMap().entrySet()){ + SortableItem sitem=en.getKey(); + int count=this.totalFrequencyMap.get(sitem); + if(count>supportThreshold){ + whitelist.put(sitem,count); + sortedList.add(sitem); + } + } + //next we sort these items by their order in the tree + Collections.sort(sortedList); + + //starting from the tail item + while(!sortedList.isEmpty()){ + SortableItem tailItem=sortedList.get(sortedList.size()-1); + //conditioned on the tailItem and build a conditional tree + ConditionalTree childTree=new ConditionalTree(this.supportThreshold,tailItem,this,whitelist.get(tailItem)); + //track the nodes of this tail item + HashSet<FPNode> nodeset=this.fptree.getTrackMap().get(tailItem); + for (FPNode node: nodeset){ + FPPath path=this.fptree.stripPathEndOnNodeExcluding(node); + //feed the child with the path + childTree.feedInFPPath(path); + } + //get frequent patterns from child + HashMap<SortableItemSet,Integer> childresult=childTree.getFrequentPatterns(); + result.putAll(childresult); + //remove this tail item + sortedList.remove(sortedList.size()-1); + } + + //add its condition in + if(this.conditionedItem!=null){ + HashMap<SortableItemSet,Integer> newresult=new HashMap<SortableItemSet,Integer>(); + //its condition itself is a frequent pattern, add it in first + SortableItemSet mypattern=new SortableItemSet(); + mypattern.addToSet(this.conditionedItem,this.itemMap); + newresult.put(mypattern, this.totalCount); + //then add its condition as header to the frequent patterns got from children + for (Entry<SortableItemSet,Integer> en: result.entrySet()){ + SortableItemSet pattern=en.getKey(); + SortableItemSet newpattern=new SortableItemSet(pattern); + newpattern.addToSet(this.conditionedItem,this.itemMap); + newresult.put(newpattern, en.getValue()); + } + result=newresult; + } + + return result; + } + + /** + * get frequent patterns that pass the support threshold from this conditional tree + * @return + */ + + public HashMap<SortableItemSet,Integer> getHyperCliquePatterns(){ + HashMap<SortableItemSet,Integer> result=new HashMap<SortableItemSet,Integer>(); + + //first we get a white list of items + HashMap<SortableItem,Integer> whitelist=new HashMap<SortableItem,Integer>(); + List<SortableItem> sortedList=new ArrayList<SortableItem>(); + + for(Entry<SortableItem, HashSet<FPNode>> en: this.fptree.getTrackMap().entrySet()){ + SortableItem sitem=en.getKey(); + int count=this.totalFrequencyMap.get(sitem); + int maxC=Math.max(this.maxCount, this.rootTotalFrequencyMap.get(sitem)); + double maxCC=(double)maxC; + double hconfidenceratio=((double)count)/maxCC; +// System.out.println("-------"); +// if(this.parent!=null&&this.parent.conditionedItem!=null) +// System.out.println(this.parent.conditionedItem); +// System.out.println(sitem); +// System.out.println(count); +// System.out.println(maxCC); + if(hconfidenceratio>=this.hconfidence){ + whitelist.put(sitem,count); + sortedList.add(sitem); + } + } + + //next we sort these items by their order in the tree + Collections.sort(sortedList); + + //starting from the tail item + while(!sortedList.isEmpty()){ + SortableItem tailItem=sortedList.get(sortedList.size()-1); + //conditioned on the tailItem and build a conditional tree + ConditionalTree childTree=new ConditionalTree(this.hconfidence,tailItem,this,whitelist.get(tailItem)); + //track the nodes of this tail item + HashSet<FPNode> nodeset=this.fptree.getTrackMap().get(tailItem); + for (FPNode node: nodeset){ + FPPath path=this.fptree.stripPathEndOnNodeExcluding(node); + //feed the child with the path + childTree.feedInFPPath(path); + } + //get frequent patterns from child + HashMap<SortableItemSet,Integer> childresult=childTree.getHyperCliquePatterns(); + result.putAll(childresult); + //remove this tail item + sortedList.remove(sortedList.size()-1); + } + + //add its condition in + if(this.conditionedItem!=null){ + HashMap<SortableItemSet,Integer> newresult=new HashMap<SortableItemSet,Integer>(); + //its condition itself is a frequent pattern, add it in first + SortableItemSet mypattern=new SortableItemSet(); + mypattern.addToSet(this.conditionedItem,this.itemMap); + newresult.put(mypattern, this.totalCount); + //then add its condition as header to the frequent patterns got from children + for (Entry<SortableItemSet,Integer> en: result.entrySet()){ + SortableItemSet pattern=en.getKey(); + SortableItemSet newpattern=new SortableItemSet(pattern); + newpattern.addToSet(this.conditionedItem,this.itemMap); + newresult.put(newpattern, en.getValue()); + } + result=newresult; + } + return result; + } + + +} diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPMiner.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPMiner.java new file mode 100644 index 0000000..c5e116e --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPMiner.java @@ -0,0 +1,401 @@ +package fpTreeDataStructure; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.Map.Entry; +import fpTreeDataStructure.FP_InferenceTree; +import fpTreeDataStructure.SortableItemSet; +import querySimilarityMetrics.FeatureVector; + +import java.util.TreeMap; + +/** + * This class returns the frequent item sets defined by the support threshold. + * User should give input file name, output destination name plus a support threshold. + * A typical command line example is: java FPFrequentMiner -input input -output output -support 100. + * Above command line assumes default directory, user can also specify a complete input path like C:/user/input.txt. + * Each line in input file represents an item set and should contain item IDs(Integer) with its occurrences. + * A typical format is 1:3,2:4 meaning feature 1 occurred 3 times and feature 2 occurred 4 times + * IDs should be separated by either whitespace or comma(,) + * In Output file each row is comma separated recording item IDs in the corresponding item set. + * + * if the user want it to also output Weighted Frequent Itemsets(WFIs) then + * the user should add command option -WFIoutput + * a typical command line example is: java FPFrequentMiner -input input -output output -WFIoutput WFIout -support 100 + * + * if the user want it to also return the projected feature vectors in the + * input using WFIs, then the user need to specify another type of output path + * by using option -WFIProjected WFIProjectedout + * a typical command line example is: java FPFrequentMiner -input input -output output -WFIoutput WFIout -WFIProjected WFIProjectedout -support 100 + * @author Ting + * + */ +public class FPMiner { + + public static void main(String[] args){ + String inputPath=null; + int supportThreshold=-1; + String outputPath=null; + double hconfidence=-1; + + //parsing input arguments + for (int i=0;i<args.length;i++){ + String s=args[i]; + //get input path + if(s.equalsIgnoreCase("-input")){ + if(i+1==args.length) + System.out.println("please give argument -input an path."); + else + inputPath=args[i+1]; + } + + //get output path + if(s.equalsIgnoreCase("-output")){ + if(i+1==args.length) + System.out.println("please give argument -output an path."); + else + outputPath=args[i+1]; + } + + //get support thredhold + if(s.equalsIgnoreCase("-support")){ + if(i+1==args.length) + System.out.println("please give argument -support an argument."); + else{ + String support=args[i+1]; + supportThreshold=Integer.parseInt(support); + if(supportThreshold<0){ + System.out.println("please give a valid support threshold."); + } + } + } + //get hconfidence + if(s.equalsIgnoreCase("-hconfidence")){ + if(i+1==args.length) + System.out.println("please give argument -hconfidence an argument."); + else{ + String hconf=args[i+1]; + hconfidence=Double.parseDouble(hconf); + if(hconfidence<0){ + System.out.println("please give a valid hconfidence threshold."); + } + } + } + } + + if(inputPath==null){ + System.out.println("please use -input to give the path for input file."); + } + else if (supportThreshold*hconfidence>0){ + System.out.println("please give either a valid support Threshold or hconfidence."); + } + else if (outputPath==null){ + System.out.println("please use -output to give at least one file path for output destination file."); + } + else { + FP_InferenceTree mytree=new FP_InferenceTree("itemsets","summarization"); + mytree.prepareToReceiveItemList(); + int lineID=0; + System.out.println("start reading from path "+inputPath+" and receiving itemsets."); + BufferedReader br; + try { + br = new BufferedReader(new FileReader(new File(inputPath))); + long start=System.nanoTime(); + FeatureVector featurevector; + int linecount=0; + String line; + try { + while((line=br.readLine())!=null){ + lineID++; + //parse into feature vector + featurevector=FeatureVector.readFeatureVectorFromFormattedString(line); + if(!featurevector.isEmpty()){ + mytree.consumeItemList(featurevector, lineID); + linecount++; + } + } + long end=System.nanoTime(); + mytree.finishReceivingItemList(); + br.close(); + System.out.println("itemset reception finished,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println("total number of itemsets feeded : "+linecount); + System.out.println(); + + System.out.println("start building FP Tree."); + start=System.nanoTime(); + mytree.buildTree(); + + //FeatureVector vec=new FeatureVector(); + //vec.addFeatureWithOccurrence(6, 1); + //vec.addFeatureWithOccurrence(6, 2); + //vec.addFeatureWithOccurrence(4, 1); + //vec.addFeatureWithOccurrence(3, 1); + //System.out.println("count of vector "+vec+" is "+mytree.getCountOfFeatureVector(vec)); + + end=System.nanoTime(); + System.out.println("FP Tree building finished,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + + HashMap<SortableItemSet,Integer> patterns; + if(supportThreshold>0){ + System.out.println("start getting frequent patterns with support threshold: "+supportThreshold); + start=System.nanoTime(); + + patterns= mytree.getFrequentPatterns(supportThreshold); + + end=System.nanoTime(); + System.out.println(patterns.size()+" frequent patterns got,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + } + else{ + System.out.println("start getting hyperclique patterns with hconfidence: "+hconfidence); + start=System.nanoTime(); + patterns= mytree.getHyperCliquePatterns(hconfidence); + end=System.nanoTime(); + System.out.println(patterns.size()+" hyperclique patterns got,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + } + + //write frequent patterns to file if -output parameter given + File f=new File(outputPath); + System.out.println("starting writing result to output destination: "+f.getAbsolutePath()+" given by -output command."); + start=System.nanoTime(); + PrintWriter pw=new PrintWriter(f); + for(Entry<SortableItemSet,Integer> en:patterns.entrySet()){ + SortableItemSet set=en.getKey(); + String inputline=set.toString(); + if(!inputline.isEmpty()) + pw.println(inputline+";"+en.getValue()); + } + pw.close(); + end=System.nanoTime(); + System.out.println("frequent patterns saved,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + } catch (IOException e) { + e.printStackTrace(); + } + + } catch (FileNotFoundException e1) { + System.out.println("cannot find file at path: "+inputPath); + e1.printStackTrace(); + } + } + } + + public static void getProjectedFeatureVectors(String inputPath,String WFIProjectedPath,String WFIoutputPath,int supportThreshold){ + String outputPath=null; + if(inputPath==null){ + System.out.println("please use -input to give the path for input file."); + } + else if (supportThreshold<0){ + System.out.println("please give a non-negative integer based -support Threshold."); + } + else if (outputPath==null&&WFIoutputPath==null&&WFIProjectedPath==null){ + System.out.println("please use -output or -WFIoutput or -WFIProject to give at least one file path for output destination file."); + } + else { + FP_InferenceTree mytree=new FP_InferenceTree("itemsets","summarization"); + mytree.prepareToReceiveItemList(); + int lineID=0; + System.out.println("start reading from path "+inputPath+" and receiving itemsets."); + BufferedReader br; + try { + br = new BufferedReader(new FileReader(new File(inputPath))); + long start=System.nanoTime(); + FeatureVector featurevector; + int linecount=0; + String line; + try { + while((line=br.readLine())!=null){ + lineID++; + //parse into feature vector + featurevector=FeatureVector.readFeatureVectorFromFormattedString(line); + if(!featurevector.isEmpty()){ + mytree.consumeItemList(featurevector, lineID); + linecount++; + } + } + long end=System.nanoTime(); + mytree.finishReceivingItemList(); + br.close(); + System.out.println("itemset reception finished,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println("total number of itemsets feeded : "+linecount); + System.out.println(); + + System.out.println("start building FP Tree."); + start=System.nanoTime(); + mytree.buildTree(); + end=System.nanoTime(); + System.out.println("FP Tree building finished,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + + System.out.println("start getting frequent patterns with support threshold: "+supportThreshold); + start=System.nanoTime(); + HashMap<SortableItemSet,Integer> patterns= mytree.getFrequentPatterns(supportThreshold); + + end=System.nanoTime(); + System.out.println(patterns.size()+" frequent patterns got,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + + //If -WFIoutputPath or -WFIProjectedPath parameter given + if(WFIoutputPath!=null||WFIProjectedPath!=null){ + LinkedHashMap <SortableItemSet,Double> WFImap=turnFPSetIntoWFISet(patterns,linecount); + //WFI + if(WFIoutputPath!=null){ + File f=new File(WFIoutputPath); + System.out.println("starting writing result to WFIoutput destination: "+f.getAbsolutePath()+" given by -WFIoutput command."); + start=System.nanoTime(); + PrintWriter pw=new PrintWriter(f); + for(Entry<SortableItemSet,Double> en: WFImap.entrySet()){ + String inputline=en.getKey().toString()+":"+en.getValue(); + if(!inputline.isEmpty()) + pw.println(inputline); + } + pw.close(); + end=System.nanoTime(); + System.out.println("Weighted Frequent patterns saved to destination file,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + } + //WFI projected + if(WFIProjectedPath!=null){ + File f=new File(WFIProjectedPath); + System.out.println("starting writing result to WFIProjection destination: "+f.getAbsolutePath()+" given by -WFIProjected command."); + start=System.nanoTime(); + PrintWriter pw=new PrintWriter(f); + br = new BufferedReader(new FileReader(new File(inputPath))); + while((line=br.readLine())!=null){ + FeatureVector vector=FeatureVector.readFeatureVectorFromFormattedString(line); + if(!vector.isEmpty()){ + //System.out.println("------"); + //System.out.println(vector); + FeatureVector projectedVector=projectFeatureVectorOnWFISet(vector,WFImap); + //System.out.println(projectedVector); + pw.println(projectedVector.toFormattedString()); + } + } + br.close(); + pw.close(); + end=System.nanoTime(); + System.out.println("WFI projected feature vectors saved to destination file,Time used: "+(end-start)/1000000+" milliseconds"); + System.out.println(); + if(WFIoutputPath==null){ + f=new File("WFISets"); + pw=new PrintWriter(f); + for(Entry<SortableItemSet,Double> en: WFImap.entrySet()){ + String inputline=en.getKey().toString()+":"+en.getValue(); + if(!inputline.isEmpty()) + pw.println(inputline); + } + System.out.println("WFI sets have been put into an ordered list and saved to path "+f.getAbsolutePath()); + pw.close(); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + + } catch (FileNotFoundException e1) { + System.out.println("cannot find file at path: "+inputPath); + e1.printStackTrace(); + } + } + } + + public static LinkedHashMap<SortableItemSet,Double> turnFPSetIntoWFISet(HashMap<SortableItemSet,Integer> input){ + //try to remove redundant sets in FP set + TreeMap<Integer,HashSet<SortableItemSet>> map=new TreeMap<Integer,HashSet<SortableItemSet>>(); + HashMap<SortableItemSet,Integer> newpatterns=new HashMap<SortableItemSet,Integer>(); + //put them into groups by their set size + for (Entry<SortableItemSet,Integer> en: input.entrySet()){ + int size=en.getKey().size(); + HashSet<SortableItemSet> group=map.get(size); + if(group==null){ + group=new HashSet<SortableItemSet>(); + map.put(size, group); + } + group.add(en.getKey()); + } + + int sum=0; + //each group only need to check with the group with next higher size + for (Entry<Integer,HashSet<SortableItemSet>> en: map.entrySet()){ + int size=en.getKey(); + HashSet<SortableItemSet> content=en.getValue(); + Entry<Integer,HashSet<SortableItemSet>> nexten=map.higherEntry(size); + //if there is higher size group + if(nexten!=null){ + HashSet<SortableItemSet> nextcontent=nexten.getValue(); + for (SortableItemSet set:content){ + int mycount=input.get(set); + for (SortableItemSet nextGroupSet:nextcontent){ + if(nextGroupSet.containsAll(set)){ + mycount-=input.get(nextGroupSet); + } + } + if(mycount>0){ + newpatterns.put(set,mycount); + sum+=mycount; + } + } + } + //if current group has the highest size, then keep them intact + else { + for (SortableItemSet set:content){ + int occur=input.get(set); + sum+=occur; + newpatterns.put(set, occur); + } + } + } + + LinkedHashMap<SortableItemSet,Double> result=new LinkedHashMap<SortableItemSet,Double>(); + double dsum=(double)sum; + for (Entry<SortableItemSet, Integer> en: newpatterns.entrySet()){ + result.put(en.getKey(), (double)en.getValue()/dsum); + } + return result; + } + + public static LinkedHashMap<SortableItemSet,Double> turnFPSetIntoWFISet(HashMap<SortableItemSet,Integer> input,int totalcount){ + + LinkedHashMap<SortableItemSet,Double> result=new LinkedHashMap<SortableItemSet,Double>(); + double dsum=(double)totalcount; + for (Entry<SortableItemSet, Integer> en: input.entrySet()){ + result.put(en.getKey(), -Math.log((double)en.getValue()/dsum)); + } + return result; + } + + + public static FeatureVector projectFeatureVectorOnWFISet(FeatureVector vector,LinkedHashMap<SortableItemSet,Double> WFImap){ + FeatureVector newvector=new FeatureVector(); + int order=0; + for (Entry<SortableItemSet,Double> en: WFImap.entrySet()){ + boolean contain=vectorContainsSortableItemSet(vector,en.getKey()); + if(contain) + newvector.addOneFeatureIn(order); + order++; + } + return newvector; + } + + public static boolean vectorContainsSortableItemSet(FeatureVector vector, SortableItemSet set){ + + HashMap<Integer,Integer> IDset=set.getSet(); + for (Entry<Integer,Integer> en:IDset.entrySet()){ + int vectoroccur=vector.getFeatureOccurrence(en.getKey()); + if(vectoroccur==0||vectoroccur<en.getValue()) + return false; + } + return true; + } + +} diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPNode.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPNode.java new file mode 100644 index 0000000..e5d10c3 --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPNode.java @@ -0,0 +1,180 @@ + +package fpTreeDataStructure; + +import java.util.HashMap; + +/** + * a node in the FP-tree + * @author Ting Xie + * + */ +public class FPNode implements Comparable<FPNode>{ + private SortableItem item; + private int depth;//depth of this node + private int count;//count of # of occurrences of the pattern represented by this node + private HashMap<Integer, HashMap<Integer,FPNode>> chMap;// hashmap of its children branch + //the first Integer is the label, second Integer is the occurrence + private FPNode parent;//its parent node + private int offset;//used to offset the occurrences of its sortableItem + + public FPNode(SortableItem item){ + this.item=item; + this.count=1; + this.chMap=new HashMap<Integer, HashMap<Integer,FPNode>>(); + this.depth=0; + this.offset=0; + } + + public FPNode(FPNode node){ + this.item=node.item; + this.count=0; + this.chMap=new HashMap<Integer, HashMap<Integer,FPNode>>(); + this.depth=0; + this.offset=0; + } + + public int getOffSet(){ + return this.offset; + } + + public void setOffSet(int count){ + if (count>this.offset) + this.offset=count; + } + + public void addOffSet(int count){ + this.offset+=count; + } + + /** + * count of # of occurrences of the pattern represented by this node + * @return + */ + public int getCount(){ + return this.count; + } + + public FPNode getParent(){return this.parent;} + + public void setParent(FPNode n){this.parent=n;} + + public SortableItem getSortableItem(){ + return this.item; + } + + + /** + * add a single node as its child + * @param node + */ + public void addChild(FPNode node){ + int label=node.getSortableItem().getItemID(); + int occurrence=node.getSortableItem().getOccurrence(); + + HashMap<Integer,FPNode> map=this.chMap.get(label); + if (map==null){ + map=new HashMap<Integer,FPNode> (); + map.put(occurrence, node); + this.chMap.put(label, map); + } + else{ + map.put(occurrence,node); + } + + //let it know I am your parent + node.setParent(this); + //set its depth + node.depth=this.depth+1; + } + + /** + * assume child is already in its children map + * @param child + */ + public void removeChild(FPNode child){ + SortableItem sitem=child.getSortableItem(); + int occurrence=sitem.getOccurrence(); + int label=sitem.getItemID(); + + HashMap<Integer, FPNode> map=this.chMap.get(label); + if(map!=null){ + map.remove(occurrence,child); + //if map is empty + if(map.isEmpty()) + this.chMap.remove(label,map); + } + child.setParent(null); + + } + +// /** +// * add a subtree as its child +// */ +// public void addChildTree(MyNode root){ +// int key=root.getSortableItem().getKey(); +// if (!this.chMap.isEmpty()){ +// MyNode child=this.chMap.get(key); +// if (child!=null){ +// FP_InferenceTree.mergeTwoTrees(root, child); +// } +// else{ +// root.setParent(this); +// this.chMap.put(key, root); +// } +// } +// else +// this.chMap.put(key, root); +// +// } + + + + public int getDepth(){ + return this.depth; + } + public void addCount(int count) { + if (count<0){ + System.out.println("negative input found, try to use deductCount method: "+count); + } + else + this.count+=count; + } + + public void deductCount(int count) { + if (count<0){ + System.out.println("negative input found, try to use addCount method: "+count); + } + else + this.count-=count; + } + +// /** +// * check this node is frequent or not +// * @return +// */ +// public boolean isFrequent(int totalcount){ +// if (((double)this.count/(double)totalcount)>Util.Count_Cap||((double)this.count/(double)this.getParent().getCount())>Util.Inference_threshold){ +// return true; +// } +// else +// return false; +// +// } + + @Override + public String toString(){ + return this.item.toString(); + } + + + public HashMap<Integer, HashMap<Integer,FPNode>> getChildren(){ + return this.chMap; + } + + + @Override + public int compareTo(FPNode o) { + return this.getSortableItem().compareTo(o.getSortableItem()); + } +} + diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPPath.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPPath.java new file mode 100644 index 0000000..706ebd0 --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FPPath.java @@ -0,0 +1,126 @@ + +package fpTreeDataStructure; + +import java.util.Iterator; +import java.util.LinkedList; + +/** + * an FP path is an ordered list of FPNodes + * each element in the list should be the same count of occurrences + * @author Ting Xie + * + */ + +public class FPPath implements Comparable<FPPath>{ + private LinkedList<FPNode> list; + // private LinkedList<FPNode> slist; + + public FPPath(LinkedList<FPNode> list){ + this.list=list; + } + + public FPPath(FPNode n){ + this.list=new LinkedList<FPNode>(); + this.list.add(n); + } + public FPPath(){ + this.list=new LinkedList<FPNode>(); + } + + public void addToTail(FPNode node){ + if (this.list.isEmpty()||node.getCount()==this.list.get(0).getCount()) + this.list.add(node); + else + System.out.println("add to pattern failed, need to have the same count"); + + } + + public void addAllToTail(FPPath path){ + this.list.addAll(path.list); + } + + public void removeLast(){ + this.list.removeLast(); + } + + public void removeFirst(){ + this.list.removeFirst(); + } + + public void addToFirst(FPNode node){ + if (this.list.isEmpty()||node.getCount()==this.list.get(0).getCount()) + this.list.addFirst(node); + else + System.out.println("add to pattern failed, need to have the same count"); + + } + + public FPNode getFirst(){ + return this.list.getFirst(); + } + + /** + * retrive and remove the first element + * @return + */ + public FPNode pullFirst(){ + return this.list.pollFirst(); + } + + public FPNode getLast(){ + return this.list.getLast(); + } + + + public String getMyLabels(){ + String line=""; + for (FPNode n: this.list) + line+=" "+n.getSortableItem().getItemID()+":"+n.getSortableItem().getOccurrence()+":"+n.getCount(); + return line; + } + +// public String getMyShrinkedLabels(){ +// String line=""; +// for (FPNode n: this.slist) +// line+=" "+n.getSortableItem().getItem().getOwnLabel()+":"+n.getSortableItem().getOccurrence()+":"+n.getCount(); +// return line; +// } + + /** + * the string format of this pattern such that it is more human readable + */ + @Override + public String toString(){ + Iterator<FPNode> it=this.list.iterator(); + String line=""; + FPNode node; + + while(it.hasNext()){ + node=it.next(); + line+=GlobalVariables.leadsTo+node.getCount()+":"+node.toString()+"\n"; + } + + return line; + } + + /** + * count the total number of queries contained in this pattern + * @return + */ + public int countTotal(){ + return this.list.getFirst().getCount(); + + } + + public int getlength(){ + return this.list.size(); + } + public LinkedList<FPNode> getList(){ + return this.list; + } + + @Override + public int compareTo(FPPath arg0) { + return Integer.compare(this.list.get(0).getCount(), arg0.getFirst().getCount()); + } +} diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FP_InferenceTree.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FP_InferenceTree.java new file mode 100644 index 0000000..e544a95 --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/FP_InferenceTree.java @@ -0,0 +1,722 @@ +package fpTreeDataStructure; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.nio.file.DirectoryNotEmptyException; +import java.nio.file.Files; +import java.nio.file.NoSuchFileException; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; + +import querySimilarityMetrics.FeatureVector; + + + + +/** + * this is the main part, FP_inference tree + * @author Ting Xie + * + */ +public class FP_InferenceTree { + private List<SortableItem> curlist;// keep track of current order of sortableitems + private HashMap<Integer,HashMap<Integer,SortableItem>> itemMap;//its own sortable item map two keys itemID+occurrence + private HashMap<SortableItem,HashSet<FPNode>> trackMap;//tracking the position of sortable items + private FPNode root;//root of this tree, defined as null + private int count;//total number of queries parsed + private int totalcount; + private String path;//just a path to temporarily store consumed items on disk + private String dumpPath;//just a path to visualize the content of the tree + //private PrintWriter dump; + private PrintWriter wr; + private BufferedReader readFromFirstRun; + public FP_InferenceTree (String path,String dumppath){ + this.itemMap=new HashMap<Integer,HashMap<Integer,SortableItem>>(); + this.trackMap=new HashMap<SortableItem,HashSet<FPNode>> (); + SortableItem item = null; + this.path=path; + this.root=new FPNode(item); + this.count=0; + this.totalcount=0; + } + + /** + * give a deep copy + * @param input + */ + public FP_InferenceTree(FP_InferenceTree input){ + if(input.curlist!=null) + this.curlist=new ArrayList<SortableItem>(input.curlist); + + this.itemMap=new HashMap<Integer,HashMap<Integer,SortableItem>>(input.itemMap); + + this.trackMap=new HashMap<SortableItem,HashSet<FPNode>>(input.trackMap); + + this.root=input.root; + this.count=input.count; + this.totalcount=input.totalcount; + this.path=input.path; + this.dumpPath=input.dumpPath; + } + + /** + * give a deep copy + * @param input + */ + public FP_InferenceTree(FP_InferenceTree input,String path,String dumppath){ + if(input.curlist!=null) + this.curlist=new ArrayList<SortableItem>(input.curlist); + + this.itemMap=new HashMap<Integer,HashMap<Integer,SortableItem>>(input.itemMap); + + this.trackMap=new HashMap<SortableItem,HashSet<FPNode>>(input.trackMap); + this.root=input.root; + this.count=input.count; + this.totalcount=input.totalcount; + this.path=path; + this.dumpPath=dumppath; + } + + public String getPath(){ + return this.path; + } + + public String getDumpPath(){ + return this.dumpPath; + } + + public void setCount(int count){ + this.count=count; + } + + public HashMap<SortableItem,HashSet<FPNode>> getTrackMap(){ + return this.trackMap; + } + + public void clearTree(){ + this.root.getChildren().clear(); + this.curlist=null; + this.itemMap.clear(); + } + + public void prepareToReceiveItemList(){ + try { + this.wr=new PrintWriter(path); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } + public void finishReceivingItemList(){ + this.wr.close(); + } + + /** + * this method consumes an FPPath and build the tree step by step + * it assumes the input FPPath is correctly ordered + * @param list + */ + public void consume(FPPath P){ + //traverse this tree + FPNode start=null;//start is the node that last match happens + if (root.getChildren().isEmpty()){ + branch(root,P); + } + else { + start=this.locate(root, P); + if (!P.getList().isEmpty()) + branch(start,P); + } + + } + + /** + * branch on unmatched parts and add nodes one by one + * @param start + * @param P + */ + private void branch(FPNode start,FPPath P){ + + FPNode currentnode=start; + FPNode node; + while (!P.getList().isEmpty()){ + node=P.pullFirst(); + currentnode.addChild(node); + //register this node in track map whenever a new node is added + SortableItem sitem=node.getSortableItem(); + if(sitem!=null){ + HashSet<FPNode> list=this.trackMap.get(sitem); + if(list==null){ + list=new HashSet<FPNode>(); + //register it into trackmap + this.trackMap.put(sitem, list); + } + list.add(node); + } + //then start from the newly added node as the current node + currentnode=node; + } + } + + + public FPNode getRoot(){ + return this.root; + } + + public void setTrackMap(HashMap<SortableItem,HashSet<FPNode>> input){ + this.trackMap=input; + } + + /** + * assumes root is matched, try to locate the position of the last match of P from root onwards + * and add the count of current pattern in the common path + * @param item + * @return + */ + private FPNode locate(FPNode root,FPPath P){ + + if (!P.getList().isEmpty()){ + FPNode targetNode=P.getFirst(); + HashMap<Integer, HashMap<Integer,FPNode>> chMap=root.getChildren(); + HashMap<Integer,FPNode> map=chMap.get(targetNode.getSortableItem().getItemID()); + FPNode nextnode=null; + if (map!=null) + nextnode=map.get(targetNode.getSortableItem().getOccurrence()); + + if (nextnode==null){ + return root; + } + else { + nextnode.addCount(targetNode.getCount()); + P.removeFirst(); + return locate(nextnode,P); + } + + } + else return root; + } + + public boolean validateNodes(FPNode root){ + + HashMap<Integer, HashMap<Integer, FPNode>> map=root.getChildren(); + //if it has children + if(!map.isEmpty()){ + int count=0; + for(Entry<Integer, HashMap<Integer, FPNode>> en: map.entrySet()){ + HashMap<Integer, FPNode> itemmap=en.getValue(); + for(Entry<Integer,FPNode> enn: itemmap.entrySet()){ + if(enn.getValue().getCount()<=0) + return false; + else + count+=enn.getValue().getCount(); + + boolean result=validateNodes(enn.getValue()); + if(result==false) + return false; + } + } + + if(count>root.getCount()&&root.getSortableItem()!=null) + return false; + } + + return true; + } + + public boolean validateTrackMap(FPNode root){ + HashMap<Integer, HashMap<Integer, FPNode>> map=root.getChildren(); + //if it has children + if(!map.isEmpty()){ + for(Entry<Integer, HashMap<Integer, FPNode>> en: map.entrySet()){ + HashMap<Integer, FPNode> itemmap=en.getValue(); + for(Entry<Integer,FPNode> enn: itemmap.entrySet()){ + FPNode node=enn.getValue(); + SortableItem sitem=node.getSortableItem(); + if(!this.trackMap.get(sitem).contains(node)) + return false; + else { + if(validateTrackMap(node)==false) + return false; + } + } + } + } + return true; + } + + + /** + * validate if this tree is correct + */ + public void validateTree(){ + System.out.println("this tree's nodes are correctly built?: "+this.validateNodes(this.root)); + System.out.println("this tree's trackMap is correctly built?: "+this.validateTrackMap(this.root)); + System.out.println("this tree has "+this.count+" number of item sets"); + System.out.println("this tree has "+this.getNodeNumber(this.root)+" number of nodes in total"); + System.out.println("total number of consumed items are: "+this.totalcount); + } + + public int getNodeNumber(FPNode root){ + int count=1; + HashMap<Integer, HashMap<Integer,FPNode>> map = root.getChildren(); + if (!map.isEmpty()){ + for (Entry<Integer, HashMap<Integer,FPNode>> en: map.entrySet()){ + for (Entry<Integer, FPNode> entry: en.getValue().entrySet()){ + count+=getNodeNumber(entry.getValue()); + } + } + } + return count; + } + + public int getNodeNumber(){ + return getNodeNumber(this.root); + } + + public boolean isEmpty(){ + return this.root.getChildren().isEmpty(); + } + + /** + * get all patterns + * @param root + * @return + */ + public List<FPPath> getAllPatterns(FPNode root){ + List<FPPath> list=new ArrayList<FPPath>(); + + if (!root.getChildren().isEmpty()){ + + HashMap<Integer,HashMap<Integer,FPNode>> map=root.getChildren(); + int validsum=0; + for(Entry<Integer,HashMap<Integer,FPNode>> en:map.entrySet()){ + for (Entry<Integer, FPNode> entry: en.getValue().entrySet()){ + FPNode child=entry.getValue(); + List<FPPath> plist=this.getAllPatterns(child); + for (FPPath pattern:plist){ + FPNode n=new FPNode(root); + n.addCount(pattern.getFirst().getCount()); + validsum+=pattern.getFirst().getCount(); + pattern.addToFirst(n); + list.add(pattern); + } + } + } + + int diff=root.getCount()-validsum; + FPPath pp=new FPPath(); + FPNode node=new FPNode(root); + node.addCount(diff); + node.setParent(root.getParent()); + + if (diff>0){ + pp.addToTail(node); + list.add(pp); + } + + } + else { + FPPath p=new FPPath(); + FPNode node=new FPNode(root); + node.addCount(root.getCount()); + p.addToTail(node); + list.add(p); + } + + + + return list; + } + + /** + * get the frequent patterns of this tree + * @param root + * @return + */ + public HashMap<SortableItemSet,Integer> getFrequentPatterns(int supportThreshold){ + //create a conditional tree out of this FP tree which conditioned on nothing at first + ConditionalTree ctree=new ConditionalTree(supportThreshold,this,this.itemMap); + return ctree.getFrequentPatterns(); + } + + /** + * get the hyperclique patterns of this tree + * @param root + * @return + */ + public HashMap<SortableItemSet,Integer> getHyperCliquePatterns(double hconfidence){ + //create a conditional tree out of this FP tree which conditioned on nothing at first + ConditionalTree ctree=new ConditionalTree(hconfidence,this,this.itemMap); + return ctree.getHyperCliquePatterns(); + } + + public FPPath stripPathEndOnNodeExcluding(FPNode node){ + FPPath result=new FPPath(); + //trace the full path that involves this node + FPNode parent=node.getParent(); + while(parent!=null&&parent.getSortableItem()!=null){ + //copy this node + FPNode parentnode=new FPNode(parent); + parentnode.addCount(node.getCount()); + result.addToFirst(parentnode); + parent=parent.getParent(); + } + + return result; + } + + + // /** + // * reorganize itself by reordering the items and thus the tree structure + // */ + // public void selfReOrganizing(){ + // //update contributions of all sortable items + // this.updateContributions(); + // + // List<MySortableItem> oldlist=new ArrayList<MySortableItem>(this.curlist); + // HashMap<MySortableItem,Integer> indexmap=new HashMap<MySortableItem,Integer>(); + // //update the order of sortable items + // this.updateItemOrder(); + // + // for (int i=0;i<this.curlist.size();i++){ + // indexmap.put(this.curlist.get(i), i); + // } + // + // if (Util.checkDisorderness(oldlist, this.curlist,indexmap)){ + // System.out.println("begin self reorganizing "); + // long start=System.nanoTime(); + // this.reorganize(indexmap); + // long end=System.nanoTime(); + // System.out.println("self reorganizing finished, time used is: "+(end-start)/1000000+" milliseconds"); + // } + // else + // System.out.println(" no need to reorganize,skipped"); + // } + // + // /** + // * + // * reorganize the tree according to the new order + // * use existing patterns in the tree and rebuild the tree + // */ + // private void reorganize(HashMap<MySortableItem,Integer> indexmap){ + // for (Entry<Integer,MyNode> en:this.root.getChildren().entrySet()){ + // pruneFrom(en.getValue(),this.root,indexmap); + // } + // + // } + // + // /** + // * this merges trees to a single tree, these two trees need to have the same root node + // * @param from + // * @param to + // */ + // public static void mergeTwoTrees(MyNode from,MyNode to){ + // to.addCount(from.getCount()); + // for (Entry<Integer,MyNode> en:from.getChildren().entrySet()){ + // MyNode child=en.getValue(); + // MyNode target=to.getChildren().get(child.getSortableItem().getKey()); + // if (target!=null){ + // mergeTwoTrees(child,target); + // } + // else { + // to.addChildTree(child); + // } + // } + // } + // + // /** + // * this method prunes unordered branch out + // * not finished + // * @param node + // * @param root + // * @param indexmap + // */ + // private void pruneFrom(MyNode node,MyNode root,HashMap<MySortableItem,Integer> indexmap){ + // + // } + + /** + * reset this tree by clear the root's children + */ + public void resetTree(){ + this.root.getChildren().clear(); + this.count=0; + this.totalcount=0; + } + + /** + * get an ordered list of all items + */ + public void getItemOrder(){ + if (this.curlist==null){ + this.curlist=new ArrayList<SortableItem>(); + for (Entry<Integer,HashMap<Integer,SortableItem>> en:this.itemMap.entrySet()){ + for (Entry<Integer,SortableItem> item:en.getValue().entrySet()) + this.curlist.add(item.getValue()); + } + } + Collections.sort(curlist); + } + /** + * check the disorderness of two sorted arrays + * @param oldlist + * @param newlist + * @return + */ + + + // /** + // * update the contributions values for all Sortable items in one tree traverse + // */ + // public void updateContributions(){ + // //first reset all contributions of all sortable items + // for (Entry<Integer,HashMap<Integer,SortableItem>> en:this.itemMap.entrySet()){ + // for (Entry<Integer,SortableItem> item:en.getValue().entrySet()) + // item.getValue().resetContribution(); + // } + // updateFrom(root); + // } + // + // /** + // * update from its Node onwards and provide its parent with its accumulative count + // * @param node + // * @param childrencount + // */ + // private Integer updateFrom(FPNode node){ + // if (node.getSortableItem()==null){ + // for (Entry<Integer, HashMap<Integer, FPNode>> en: node.getChildren().entrySet()){ + // for (Entry<Integer,FPNode> entry:en.getValue().entrySet()){ + // updateFrom(entry.getValue()); + // } + // } + // return 0; + // } + // else { + // HashMap<Integer, HashMap<Integer, FPNode>> children=node.getChildren(); + // Integer totalcount=0; + // Integer upstream_count=(node.getDepth()-1)*node.getCount(); + // for (Entry<Integer, HashMap<Integer, FPNode>> en: children.entrySet()){ + // for (Entry<Integer,FPNode> entry:en.getValue().entrySet()){ + // totalcount+=updateFrom(entry.getValue()); + // } + // } + // + // //update its node by upstream count and totalcount from all of its children + // node.getSortableItem().addContribution(totalcount+upstream_count); + // //return the total count of its children added by its own count + // return totalcount+node.getCount(); + // } + // } + + /** + * read from what's saved and build its tree + */ + public void buildTree(){ + try { + SortableItemSet q; + FPPath p; + System.out.println("begin reading stored item sets."); + String line; + readFromFirstRun = new BufferedReader(new FileReader(this.path)); + while ((line = readFromFirstRun.readLine()) != null) { + q=new SortableItemSet(line,this.itemMap); + if (!q.getSet().isEmpty()){ + ArrayList<SortableItem> qlist=new ArrayList<SortableItem>(); + for(SortableItem item: q.getMaterializedSet()) + qlist.add(item); + //sort the items first + Collections.sort(qlist); + + p=new FPPath(); + for (SortableItem item:qlist){ + p.addToTail(new FPNode(item)); + } + this.consume(p); + } + else { + System.out.println("error parsing line: "+line+" empty items sequence found"); + } + } + readFromFirstRun.close(); + this.validateTree(); + this.clearTempFilesOnDisk(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + // public LinkedList<Integer> findQueriesByPattern(FPPath p,List<Integer> index){ + // index.clear(); + // LinkedList<Integer> wrapperlabellist=new LinkedList<Integer>(); + // SortableItemSet q; + // System.out.println("begin searching queries that has the pattern shrinked as: "+p.getMyShrinkedLabels()); + // String line; + // + // try { + // int count=0; + // readFromFirstRun = new BufferedReader(new FileReader(this.path)); + // while ((line = readFromFirstRun.readLine()) != null) { + // q=new SortableItemSet(line,this.itemMap); + // if (!q.getSet().isEmpty()){ + // List<SortableItem> list =new ArrayList<SortableItem>(); + // for(SortableItem item: q.getSet()) + // list.add(item); + // Collections.sort(list); + // + // Iterator<SortableItem> myit=list.iterator(); + // Iterator<FPNode> it=p.getList().iterator(); + // + // boolean pass=true; + // while(it.hasNext()){ + // if(it.next().getSortableItem()!=myit.next()){ + // pass=false; + // break; + // } + // } + // if(pass){ + // //find the wrapper label + // int max=-1; + // for (SortableItem sitem:list){ + // if (sitem.getItem().getOwnLabel()>max){ + // max=sitem.getItem().getOwnLabel(); + // } + // } + // wrapperlabellist.add(max); + // index.add(count); + // } + // + // } + // else { + // System.out.println("error parsing line: "+line+" empty items sequence found"); + // } + // count++; + // } + // readFromFirstRun.close(); + // System.out.println("finished searching");; + // } catch (IOException e) { + // e.printStackTrace(); + // } + // return wrapperlabellist; + // + // } + + /** + * turns a list of MyItem with occurrences into a HashSet of MySortableItem + * and register it in this tree + */ + public void consumeItemList(FeatureVector vector,int lineID){ + SortableItemSet itemset=new SortableItemSet(lineID); + Set<Integer> distinctFeatures=vector.getDistinctFeatures(); + //create an array of sortable items + for (Integer feature: distinctFeatures){ + int itemID=feature; + int occur=vector.getFeatureOccurrence(itemID); + //critical! if an item happens occur times, then it implies from 1 to occur it all happens + SortableItem sitem = null; + for (int i=1;i<=occur;i++){ + sitem=SortableItem.createNewSortableItem(itemID,i, this.itemMap); + itemset.addToSetAnyWay(sitem); + } + } + + if (!itemset.getSet().isEmpty()){ + this.count++; + this.totalcount+=itemset.getMaterializedSet().size(); + this.wr.println(itemset.toLabelString()); + //add the contribution to all sortable items + int size=itemset.getSet().size()-1; + for (SortableItem item: itemset.getMaterializedSet()){ + item.addContribution(size); + //item.addContribution(1); + } + } + else{ + System.out.println("empty query found at line : " +lineID); + } + } + + private void clearTempFilesOnDisk(){ + try { + Path temppath = Paths.get(path); + Files.deleteIfExists(temppath); + } catch (NoSuchFileException x) { + System.err.format("%s: no such" + " file or directory%n", path); + } catch (DirectoryNotEmptyException x) { + System.err.format("%s not empty%n", path); + } catch (IOException x) { + // File permission problems are caught here. + System.err.println(x); + } + } + + /** + * returns the number of occurrences of the set of items represented by the feature vector + * @param vector + * @return + */ + public int getCountOfFeatureVector(FeatureVector vector){ + Set<Integer> distinctfeatures=vector.getDistinctFeatures(); + ArrayList<SortableItem> itemlist=new ArrayList<SortableItem>(); + for (Integer label: distinctfeatures){ + SortableItem sitem=this.itemMap.get(label).get(vector.getFeatureOccurrence(label)); + if(sitem==null) + System.out.println("FeatureID non-match found, input feature is "+label+" with occurrence "+vector.getFeatureOccurrence(label)); + else + itemlist.add(sitem); + } + + int sum=0; + if(!itemlist.isEmpty()){ + //sort + Collections.sort(itemlist); + HashSet<FPNode> candidatepaths=this.trackMap.get(itemlist.get(itemlist.size()-1)); + + if(itemlist.size()>1){ + for (FPNode node: candidatepaths){ + boolean pass=false; + FPNode startNode=node.getParent(); + int index=itemlist.size()-2; + while(startNode!=null&&startNode.getSortableItem()!=null){ + SortableItem targetItem=itemlist.get(index); + if(targetItem.equals(startNode.getSortableItem())){ + index--; + if(index==-1){ + pass=true; + break; + } + } + startNode=startNode.getParent(); + } + + if(pass) + sum+=node.getCount(); + } + } + else { + for (FPNode node: candidatepaths){ + sum+=node.getCount(); + } + } + } + else + System.out.println("warning, input feature vector is empty"); + return sum; + } + + public int getTotalCount(){ + return this.count; + } + + + +} + diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/GlobalVariables.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/GlobalVariables.java new file mode 100644 index 0000000..d0b452f --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/GlobalVariables.java @@ -0,0 +1,10 @@ +package fpTreeDataStructure; + +public class GlobalVariables { + public static final String OccurSeparator="#"; + public static final String specialSeparator="~!~"; + public static final String ItemSeparator=";"; + public static final String leadsTo="--->"; + public static final String path="C:/Users/Ting/Desktop/bankdata/"; + public static final String queryDest="querylabels"; +} diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItem.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItem.java new file mode 100644 index 0000000..920eb8a --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItem.java @@ -0,0 +1,124 @@ + +package fpTreeDataStructure; + +import java.util.HashMap; + +/** + * Sortable item=item+occurrence + * it stores the total contribution of this item + * contribution: total number of other items that coexist with this item + * contribution determines the priority of this item in a Query + * @author Ting Xie + * + */ + +public class SortableItem implements Comparable<SortableItem>{ + private int itemID; + private int totalContribution; + public int startcount=-1; + private int occurrence; + private int hashcode; + + private SortableItem(int itemID,int occurrence){ + this.itemID=itemID; + this.totalContribution=0; + this.occurrence=occurrence; + //create hashcode + int hashCode = 31 + Integer.hashCode(this.itemID); + hashCode = 31*hashCode + Integer.hashCode(this.occurrence); + this.hashcode=hashCode; + } + + public int getItemID(){ + return this.itemID; + } + + public int getOccurrence(){return this.occurrence;} + + public Integer getContribution(){ + return this.totalContribution; + } + + + public static SortableItem createNewSortableItem(int itemID,int occurrence,HashMap<Integer,HashMap<Integer,SortableItem>> itemMap){ + + + HashMap<Integer,SortableItem> map=itemMap.get(itemID); + SortableItem it; + if (map==null){ + it=new SortableItem(itemID,occurrence); + //register in itemmap + map=new HashMap<Integer,SortableItem>(); + map.put(occurrence,it); + itemMap.put(itemID, map); + } + else { + it=map.get(occurrence); + if (it ==null){ + it=new SortableItem(itemID,occurrence); + map.put(occurrence,it); + } + } + return it; + } + + /** + * updates total contribution of this sortableitem + */ + public void resetContribution(){ + this.totalContribution=0; + } + + + @Override + public boolean equals(Object o){ + SortableItem item=(SortableItem) o; + if (this.itemID==item.itemID&&this.occurrence==item.occurrence) return true; + else return false; + } + + @Override + public int hashCode(){ + return this.hashcode; + } + + + @Override + //need to consider question mark and longer items + public int compareTo(SortableItem arg0) { + if (this.totalContribution>arg0.getContribution()) + return -1; + else if (this.totalContribution<arg0.getContribution()) + return 1; + else { + int occur1=this.occurrence; + int occur2=arg0.getOccurrence(); + if(occur1>occur2) + return 1; + else if (occur1<occur2) + return -1; + else if(this.itemID>arg0.itemID) + return -1; + else if (this.itemID<arg0.itemID) + return 1; + else + return 0; + } + } + + + @Override + public String toString(){ + return this.itemID+GlobalVariables.OccurSeparator+this.occurrence; + } + + public static String turnIDToString(int itemID,int occur){ + return itemID+GlobalVariables.OccurSeparator+occur; + } + + public void addContribution(int a) { + this.totalContribution+=a; + } + + +} diff --git a/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItemSet.java b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItemSet.java new file mode 100644 index 0000000..52fb057 --- /dev/null +++ b/SQLFeatureExtraction/src/main/java/fpTreeDataStructure/SortableItemSet.java @@ -0,0 +1,171 @@ +package fpTreeDataStructure; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map.Entry; + +/** + * an FPQuery is a set of SortableItems + * it can be sorted later + * @author Ting Xie + * + */ +public class SortableItemSet{ + + private HashMap<Integer,Integer> itemset=new HashMap<Integer,Integer>(); + private HashSet<SortableItem> materializedSet=new HashSet<SortableItem>();; + int lineID; + + public HashMap<Integer,Integer> getSet(){ + return this.itemset; + } + + public HashSet<SortableItem> getMaterializedSet(){ + return this.materializedSet; + } + + public int size(){ + return this.materializedSet.size(); + } + + public SortableItemSet(int lineID){ + this.lineID=lineID; + } + + public SortableItemSet(){ + this.lineID=-1; + } + + public SortableItemSet(SortableItemSet q){ + this.itemset=new HashMap<Integer,Integer>(q.getSet()); + this.lineID=q.lineID; + this.materializedSet=new HashSet<SortableItem>(q.getMaterializedSet()); + } + + + /** + * reconstruct the items from reading the file line by line + * @param line + */ + + + public SortableItemSet(String line,HashMap<Integer,HashMap<Integer,SortableItem>> itemMap){ + SortableItem item; + String[] tokens=line.split(GlobalVariables.specialSeparator); + this.lineID=Integer.parseInt(tokens[0]); + + String[] Itemtokens=tokens[1].split(GlobalVariables.ItemSeparator); + String itemlabel; + String[] t; + try{ + int size=Integer.parseInt(Itemtokens[0]); + if (size!=Itemtokens.length-1){ + System.out.println("read error, #items parsed does not match recorded# : "+line+"I am expecting:"+size+" number of labels"); + return; + } + else { + this.itemset= new HashMap<Integer,Integer>(); + for (int i=1;i<Itemtokens.length;i++){ + itemlabel=Itemtokens[i]; + t=itemlabel.split(GlobalVariables.OccurSeparator); + item=SortableItem.createNewSortableItem(Integer.parseInt(t[0]),Integer.parseInt(t[1]),itemMap); + this.addToSet(item,itemMap); + } + } + } + catch(NumberFormatException e){ + System.out.println("read error, the first string should be the size of this query item list"); + return; + } + } + + public void addToSet(SortableItem item,HashMap<Integer,HashMap<Integer,SortableItem>> itemMap){ + //add to materialized set + int targetoccur=item.getOccurrence(); + int targetID=item.getItemID(); + for (int i=1;i<=targetoccur;i++){ + SortableItem sitem=SortableItem.createNewSortableItem(targetID,i,itemMap); + this.materializedSet.add(sitem); + } + //update hashmap + Integer occur=this.itemset.get(targetID); + if(occur==null||occur<targetoccur) + this.itemset.put(targetID,targetoccur); + } + + public void addToSetAnyWay(SortableItem item){ + //add to materialized set + this.materializedSet.add(item); + //update hashmap + Integer occur=this.itemset.get(item.getItemID()); + if(occur==null||occur<item.getOccurrence()) + this.itemset.put(item.getItemID(),item.getOccurrence()); + } + + public Boolean contains(SortableItem item){ + return this.materializedSet.contains(item); + } + + public Boolean containsAll(SortableItemSet set){ + boolean pass=true; + for (Entry<Integer, Integer> en:set.itemset.entrySet()){ + int ID=en.getKey(); + int maxOccur=en.getValue(); + Integer matchedOccur=this.itemset.get(ID); + if(matchedOccur==null||matchedOccur<maxOccur){ + pass=false; + break; + } + } + //System.out.println("--------"); + //System.out.println("comparing "+set+ " with "+this); + //System.out.println(pass); + return pass; + } + + @Override + public String toString(){ + String inputline=""; + for(Entry<Integer,Integer> en: this.itemset.entrySet()){ + int ID=en.getKey(); + int occur=en.getValue(); + for (int i=0;i<occur;i++){ + inputline+=","+ID; + } + } + inputline=inputline.substring(1, inputline.length()); + return inputline; + } + + /** + * this function is critical, it determines the format before the read of second round + */ + public String toLabelString(){ + String line =null; + if (this.materializedSet!=null&&!this.materializedSet.isEmpty()){ + line =Integer.toString(this.lineID); + line+=GlobalVariables.specialSeparator+String.valueOf(this.materializedSet.size()); + for (SortableItem sitem: this.materializedSet){ + line+=GlobalVariables.ItemSeparator+sitem.toString(); + } + + } + return line; + } + + + @Override + public int hashCode(){ + return this.itemset.hashCode(); + } + + @Override + public boolean equals(Object o){ + SortableItemSet yourset=(SortableItemSet) o; + if(this.itemset.equals(yourset.itemset)) + return true; + else + return false; + } +} + diff --git a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aligon.java b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aligon.java index a26725a..ef79c95 100644 --- a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aligon.java +++ b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aligon.java @@ -26,7 +26,6 @@ import toolsForMetrics.ExtendedColumn; import toolsForMetrics.Global; import toolsForMetrics.Schema; -import toolsForMetrics.SelectItemListParser; import toolsForMetrics.Util; public class Aligon { @@ -297,7 +296,8 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { //System.out.println(sss); if (sss != null) { // pop out the top iter - SelectItemListParser.correct(sss, tables); + //TODO + //SelectItemListParser.correct(sss, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(sss); @@ -380,7 +380,8 @@ else if (ss instanceof AllTableColumns) { Expression where = s.getWhere(); if (where != null) { // pop out the top iter - SelectItemListParser.correct(where, tables); + //TODO + //SelectItemListParser.correct(where, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(where); @@ -397,7 +398,8 @@ else if (ss instanceof AllTableColumns) { if (groupbyRef != null) { // pop out the top iter for (int i = 0; i < groupbyRef.size(); i++) { - SelectItemListParser.correct(groupbyRef.get(i), tables); + //TODO + //SelectItemListParser.correct(groupbyRef.get(i), tables); //breaking selection operators with AND List<Expression> columns = Util.processSelect(groupbyRef.get(i)); for (int j = 0; j < columns.size(); j++) { @@ -414,7 +416,8 @@ else if (ss instanceof AllTableColumns) { Expression having = s.getHaving(); if (having != null) { // pop out the top iter - SelectItemListParser.correct(having, tables); + //TODO + //SelectItemListParser.correct(having, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(having); diff --git a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aouiche.java b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aouiche.java index 4dcfbc6..0aabc0d 100644 --- a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aouiche.java +++ b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Aouiche.java @@ -21,7 +21,6 @@ import toolsForMetrics.ExtendedColumn; import toolsForMetrics.Global; import toolsForMetrics.Schema; -import toolsForMetrics.SelectItemListParser; import toolsForMetrics.Util; public class Aouiche { @@ -242,8 +241,6 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { //System.out.println(sss); if (sss != null) { - // pop out the top iter - SelectItemListParser.correct(sss, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(sss); @@ -286,8 +283,6 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { // 2.check where condition and do selection Expression where = s.getWhere(); if (where != null) { - // pop out the top iter - SelectItemListParser.correct(where, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(where); @@ -304,7 +299,6 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { if (groupbyRef != null) { // pop out the top iter for (int i = 0; i < groupbyRef.size(); i++) { - SelectItemListParser.correct(groupbyRef.get(i), tables); //breaking selection operators with AND List<Expression> columns = Util.processSelect(groupbyRef.get(i)); for (int j = 0; j < columns.size(); j++) { @@ -319,8 +313,6 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { // 4. check Having clause Expression having = s.getHaving(); if (having != null) { - // pop out the top iter - SelectItemListParser.correct(having, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(having); diff --git a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/FeatureVector.java b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/FeatureVector.java index 1512e64..fcd5994 100644 --- a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/FeatureVector.java +++ b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/FeatureVector.java @@ -1,8 +1,8 @@ package querySimilarityMetrics; import java.util.HashMap; -import java.util.HashSet; import java.util.Map.Entry; +import java.util.Set; /** * this class hides details about the actual representation of a feature vector @@ -10,10 +10,8 @@ * @author tingxie * */ -public class FeatureVector { +public class FeatureVector{ private HashMap<Integer,Integer> labelMap=new HashMap<Integer,Integer>(); - private HashSet<Integer> distinctFeatures; - /** * add one feature into this vector * @param featureID @@ -25,6 +23,10 @@ public void addOneFeatureIn(int featureID){ else this.labelMap.put(featureID, occur+1); } + + public int length(){ + return this.labelMap.size(); + } /** * add the same feature with multiple occurrrences in @@ -32,11 +34,17 @@ public void addOneFeatureIn(int featureID){ * @param occurrence */ public void addFeatureWithOccurrence(int featureID, int occurrence){ + if(occurrence>0){ Integer occur=this.labelMap.get(featureID); if(occur==null) this.labelMap.put(featureID, occurrence); else this.labelMap.put(featureID, occur+occurrence); + } + else { + System.out.println("occurrence must be positive when adding feature to feature vector!"); + return; + } } /** @@ -53,9 +61,7 @@ public void addWholeFeatureVectorIn(FeatureVector input){ this.labelMap.put(featureID, occur+occurrence); } } - - - + /** * get the occurrence number of input feature in this vector * @param featureID @@ -73,22 +79,91 @@ public int getFeatureOccurrence(int featureID){ * get the set of distinct features out from this vector * @return */ - public HashSet<Integer> getDistinctFeatures(){ - if(this.distinctFeatures==null){ - HashSet<Integer> result=new HashSet<Integer>(); - for (Entry<Integer,Integer> en: this.labelMap.entrySet()){ - result.add(en.getKey()); - } - this.distinctFeatures=result; - } - - return this.distinctFeatures; + public Set<Integer> getDistinctFeatures(){ + return this.labelMap.keySet(); } public String toString(){ return this.labelMap.toString(); } + public static FeatureVector readFeatureVectorFromFormattedString(String line){ + //parse into feature vector + String tokens[]=line.split("\\s+|,"); + FeatureVector featurevector=new FeatureVector(); + for (String token: tokens){ + String innertokens[]=token.split(":"); + int label=Integer.parseInt(innertokens[0]); + int occur=Integer.parseInt(innertokens[1]); + featurevector.addFeatureWithOccurrence(label, occur); + } + return featurevector; + } + + public String toFormattedString(){ + String line=""; + for(Entry<Integer,Integer> en:this.labelMap.entrySet()){ + line+=","+en.getKey()+":"+en.getValue(); + } + return line.substring(1,line.length()); + } + + public boolean isEmpty(){ + return this.labelMap.isEmpty(); + } + + @Override + public boolean equals(Object o){ + FeatureVector vector=(FeatureVector) o; + return this.labelMap.equals(vector.labelMap); + } + + @Override + public int hashCode(){ + return this.labelMap.hashCode(); + } + public static FeatureVector intersection(FeatureVector left, FeatureVector right){ + FeatureVector intersec=new FeatureVector(); + int leftlength=left.length(); + int rightlength=right.length(); + if(leftlength>rightlength){ + Set<Integer> rightfeatures= right.getDistinctFeatures(); + for(Integer ID: rightfeatures){ + int rightoccur=right.getFeatureOccurrence(ID); + int leftoccur=left.getFeatureOccurrence(ID); + int min=Math.min(rightoccur, leftoccur); + if(min>0) + intersec.addFeatureWithOccurrence(ID, min); + } + } + else { + Set<Integer> leftfeatures= left.getDistinctFeatures(); + for(Integer ID: leftfeatures){ + int rightoccur=right.getFeatureOccurrence(ID); + int leftoccur=left.getFeatureOccurrence(ID); + int min=Math.min(rightoccur, leftoccur); + if(min>0) + intersec.addFeatureWithOccurrence(ID, min); + } + } + return intersec; + } + public static FeatureVector setMinus(FeatureVector left, FeatureVector right){ + FeatureVector result=new FeatureVector(); + result.addWholeFeatureVectorIn(left); + Set<Integer> rightfeatures= right.getDistinctFeatures(); + for(Integer ID:rightfeatures){ + int rightoccur=right.getFeatureOccurrence(ID); + int leftoccur=left.getFeatureOccurrence(ID); + int value=leftoccur-rightoccur; + if(value>0) + result.labelMap.put(ID, value); + else if(leftoccur>0) + result.labelMap.remove(ID); + } + return result; + } + } diff --git a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Makiyama.java b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Makiyama.java index 76ace8c..92dcbf4 100644 --- a/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Makiyama.java +++ b/SQLFeatureExtraction/src/main/java/querySimilarityMetrics/Makiyama.java @@ -27,7 +27,6 @@ import toolsForMetrics.ExtendedColumn; import toolsForMetrics.Global; import toolsForMetrics.Schema; -import toolsForMetrics.SelectItemListParser; import toolsForMetrics.Util; public class Makiyama { @@ -210,8 +209,7 @@ private static void executePlainSelect(PlainSelect s, int queryOrder) { Expression sss = joinlist.get(i).getOnExpression(); //System.out.println(sss); if (sss != null) { - // pop out the top iter - SelectItemListParser.correct(sss, tables); + //breaking selection operators with AND List<Expression> selects = Util.processSelect(sss); @@ -317,8 +315,6 @@ else if (ss instanceof AllTableColumns) { // 2.check where condition and do selection Expression where = s.getWhere(); if (where != null) { - // pop out the top iter - SelectItemListParser.correct(where, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(where); @@ -340,7 +336,6 @@ else if (ss instanceof AllTableColumns) { if (groupbyRef != null) { // pop out the top iter for (int i = 0; i < groupbyRef.size(); i++) { - SelectItemListParser.correct(groupbyRef.get(i), tables); //breaking selection operators with AND List<Expression> columns = Util.processSelect(groupbyRef.get(i)); for (int j = 0; j < columns.size(); j++) { @@ -360,8 +355,6 @@ else if (ss instanceof AllTableColumns) { // 4. check Having clause Expression having = s.getHaving(); if (having != null) { - // pop out the top iter - SelectItemListParser.correct(having, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(having); @@ -384,8 +377,7 @@ else if (ss instanceof AllTableColumns) { for (int i = 0; i < orderByRef.size(); i++) { //breaking selection operators with AND OrderByElement ord = (OrderByElement) orderByRef.get(i); - Expression exp = ord.getExpression(); - SelectItemListParser.correct(exp, tables); + Expression exp = ord.getExpression(); List<Expression> selects = null; try { diff --git a/SQLFeatureExtraction/src/main/java/toolsForMetrics/SelectItemListParser.java b/SQLFeatureExtraction/src/main/java/toolsForMetrics/SelectItemListParser.java deleted file mode 100644 index df997e5..0000000 --- a/SQLFeatureExtraction/src/main/java/toolsForMetrics/SelectItemListParser.java +++ /dev/null @@ -1,101 +0,0 @@ -package toolsForMetrics; - -import java.util.ArrayList; -import java.util.List; - -import net.sf.jsqlparser.expression.BinaryExpression; -import net.sf.jsqlparser.expression.CaseExpression; -import net.sf.jsqlparser.expression.Expression; -import net.sf.jsqlparser.expression.Function; -import net.sf.jsqlparser.expression.Parenthesis; -import net.sf.jsqlparser.expression.WhenClause; -import net.sf.jsqlparser.expression.operators.relational.ExpressionList; -import net.sf.jsqlparser.schema.Column; -import net.sf.jsqlparser.schema.Table; -import net.sf.jsqlparser.statement.select.SubSelect; - -/** - * This class parse SelectItems and gets Functions,binary Expressions and also the output Schema - * fake_schema means columns in the schema may be aliased hence should only be used for displaying purpose while true_schema is good for Iterators - * @author Ting Xie - * - */ -public class SelectItemListParser { - - - public List<Expression> function_exp=new ArrayList<Expression>(); - public List<BinaryExpression> binary_exp=new ArrayList<BinaryExpression>(); -// public List<Operation> op=new ArrayList<Operation>(); - public Schema true_schema=new Schema(); - public Schema fake_schema=new Schema(); - public int flip=0; - // private List<Table> tables; - public List<SubSelect> subselects = new ArrayList<SubSelect>(); - - - - //find all columns with no table name or aliased table name,make them toUppercase - public static void correct(Expression exp, List<Table> tables){ - - if (exp instanceof Function){ - Function f=(Function)exp; - f.setName(f.getName().toUpperCase()); - if (!f.isAllColumns()) - { - ExpressionList explist= f.getParameters(); - if (explist != null) { - @SuppressWarnings("unchecked") - List<Expression> list=explist.getExpressions(); - for (int i=0;i<list.size();i++) - correct(list.get(i), tables); - } - } - } - - else if (exp instanceof Column){ - Column c=(Column) exp; - if (c.getTable()==null||c.getTable().getName()==null){ - Column v=Global.getColumnFullName(c,tables); - c.setTable(v.getTable()); - c.setColumnName(v.getColumnName()); - } - else{ - String tablename = c.getTable().getName(); - Table t = new Table(); - t.setName(tablename.toUpperCase()); - c.setTable(t); - } - } - //for any other expression with more than one elements - else if (exp instanceof BinaryExpression){ - BinaryExpression bexp=(BinaryExpression) exp; - Expression l=bexp.getLeftExpression(); - Expression r=bexp.getRightExpression(); - correct(l,tables); - correct(r,tables); - } - else if (exp instanceof Parenthesis) { - Parenthesis p=(Parenthesis) exp; - Expression exp1=p.getExpression(); - correct(exp1,tables); - } - else if (exp instanceof CaseExpression){ - CaseExpression c=(CaseExpression) exp; - @SuppressWarnings("unchecked") - List<WhenClause> e=c.getWhenClauses(); - for (int i=0;i<e.size();i++){ - WhenClause clause=e.get(i); - correct(clause.getThenExpression(),tables); - correct(clause.getWhenExpression(),tables); - } - } - else if (exp instanceof SubSelect){ - //subselects.add((SubSelect)exp); - } - else { - //do sth - } - } - -} - diff --git a/SQLFeatureExtraction/src/main/java/toolsForMetrics/SubSelectVisitor.java b/SQLFeatureExtraction/src/main/java/toolsForMetrics/SubSelectVisitor.java index 58c3c4d..8362951 100644 --- a/SQLFeatureExtraction/src/main/java/toolsForMetrics/SubSelectVisitor.java +++ b/SQLFeatureExtraction/src/main/java/toolsForMetrics/SubSelectVisitor.java @@ -85,8 +85,6 @@ public void visit(PlainSelect plainSelect) { Expression sss = joinlist.get(i).getOnExpression(); //System.out.println(sss); if (sss != null) { - // pop out the top iter - SelectItemListParser.correct(sss, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(sss); @@ -161,8 +159,6 @@ public void visit(PlainSelect plainSelect) { // 2.check where condition and do selection Expression where = plainSelect.getWhere(); if (where != null) { - // pop out the top iter - SelectItemListParser.correct(where, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(where); @@ -180,7 +176,6 @@ public void visit(PlainSelect plainSelect) { if (groupbyRef != null) { // pop out the top iter for (int i = 0; i < groupbyRef.size(); i++) { - SelectItemListParser.correct(groupbyRef.get(i), tables); //breaking selection operators with AND List<Expression> columns = Util.processSelect(groupbyRef.get(i)); for (int j = 0; j < columns.size(); j++) { @@ -196,8 +191,6 @@ public void visit(PlainSelect plainSelect) { // 4. check Having clause Expression having = plainSelect.getHaving(); if (having != null) { - // pop out the top iter - SelectItemListParser.correct(having, tables); //breaking selection operators with AND List<Expression> selects = Util.processSelect(having); diff --git a/SQLFeatureExtraction/src/test/java/Test.java b/SQLFeatureExtraction/src/test/java/Test.java index c4ae0fb..7cc5001 100644 --- a/SQLFeatureExtraction/src/test/java/Test.java +++ b/SQLFeatureExtraction/src/test/java/Test.java @@ -10,25 +10,33 @@ public class Test { public static void main(String[] args) { - Utility.CreateDataFile("bombay", "data/bombay_query.csv"); - ArrayList<String> queryList = Utility.getQueryList("bombay"); + Utility.CreateDataFile("ub", "data/ub_query.csv"); + ArrayList<String> queryList = Utility.getQueryList("ub"); ArrayList<Statement> statementList1 = Utility.convertToStatement(queryList, false); + ArrayList<String> statementList1Strings=new ArrayList<String>(); + ArrayList<String> statementList2Strings=new ArrayList<String>(); + ArrayList<String> statementList3Strings=new ArrayList<String>(); + ArrayList<String> statementList4Strings=new ArrayList<String>(); ArrayList<SelectBody> statementList2=new ArrayList<SelectBody>(); //do a pass of alias removing for(Statement stmt: statementList1){ + statementList1Strings.add(((Select)stmt).getSelectBody().toString()); if(stmt instanceof Select){ Select s=(Select) stmt; SelectNamingResolver resolver=new SelectNamingResolver(s,true); - statementList2.add(resolver.aliasReplaceSelect()); + SelectBody body=resolver.aliasReplaceSelect(); + statementList2Strings.add(body.toString()); + statementList2.add(body); } } - //System.out.println(SelectNamingResolver.antiSchemaMap); - //System.out.println(SelectNamingResolver.schemaMap); + System.out.println(SelectNamingResolver.antiSchemaMap); + System.out.println(SelectNamingResolver.schemaMap); //do a pass of Table name appending for select bodies - for (SelectBody body:statementList2){ - SelectNamingResolver.giveTableNamesInSelectBody(body); + for (int i=0;i<statementList2.size();i++){ + SelectNamingResolver.giveTableNamesInSelectBody(statementList2.get(i),i); + statementList3Strings.add(statementList2.get(i).toString()); } //do a pass of regularization @@ -36,13 +44,21 @@ public static void main(String[] args) { for(SelectBody body:statementList2){ Select s=new Select(); s.setSelectBody(CombinedRegularizer.regularize(body)); - statementList.add(s); + statementList.add(s); + statementList4Strings.add(s.getSelectBody().toString()); + } + for(Integer index:SelectNamingResolver.indices){ + System.out.println("------------"); + System.out.println(statementList1Strings.get(index)); + System.out.println(statementList2Strings.get(index)); + System.out.println(statementList3Strings.get(index)); + System.out.println(statementList4Strings.get(index)); } // method name can be either aouiche, makiyama or aligon double[][] matrix = Utility.createDistanceMatrix("Aouiche", statementList); // write distance matrix to file - Utility.WriteDistanceMatrixToFile(matrix, "data/bombay_Aouiche.csv"); + Utility.WriteDistanceMatrixToFile(matrix, "data/ub_Aouiche.csv"); } } diff --git a/SQLFeatureExtraction/src/test/java/Utility.java b/SQLFeatureExtraction/src/test/java/Utility.java index 37829c6..eab5314 100644 --- a/SQLFeatureExtraction/src/test/java/Utility.java +++ b/SQLFeatureExtraction/src/test/java/Utility.java @@ -11,10 +11,8 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.TreeMap; import java.util.TreeSet; -import java.util.Map.Entry; import dataset.BankData; import dataset.PocketData; @@ -40,13 +38,10 @@ import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.delete.Delete; import net.sf.jsqlparser.statement.insert.Insert; -import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.SelectBody; import net.sf.jsqlparser.statement.update.Update; import querySimilarityMetrics.Aligon; import querySimilarityMetrics.Aouiche; -import querySimilarityMetrics.FeatureVector; import querySimilarityMetrics.Makiyama; import toolsForMetrics.ExtendedColumn; import toolsForMetrics.Global;