KNN分类算法实现By Java

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。[摘自百度百科]

样本读入类

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class SampleRead {

	private double[][] fetures;
	private double[] lables;

	private String inputfile;

	public SampleRead(String inputfile) {
		this.inputfile = inputfile;
		svmread();
	}

	public void svmread() {
		File file = new File(inputfile);
		List<String> readers = new ArrayList<String>();
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new FileReader(file));
			String tempString = null;
			while ((tempString = reader.readLine()) != null) {
				readers.add(tempString);
			}
			int rows = readers.size();
			lables = new double[rows];
			fetures = new double[rows][];
			for (int idx = 0; idx < rows; idx++) {
				String[] dir = readers.get(idx).split(" ");
				lables[idx] = Double.parseDouble(dir[0]);
				fetures[idx] = new double[dir.length - 1];
				for (int i = 1; i < dir.length; i++) {
					fetures[idx][i - 1] = Double
							.parseDouble(dir[i].split(":")[1]);
				}
			}
			reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (reader != null) {
				try {
					reader.close();
				} catch (IOException e1) {
				}
			}
		}
	}

	public double[][] getFetures() {
		return fetures;
	}

	public void setFetures(double[][] fetures) {
		this.fetures = fetures;
	}

	public double[] getLables() {
		return lables;
	}

	public void setLables(double[] lables) {
		this.lables = lables;
	}

}


KNN算法
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
import java.util.TreeMap;

public class KNN {

	int K;

	public KNN(int k) {
		this.K = k;
	}

	private static class Sample {
		public double lable;
		public double prelable;
		List<Double> features;

		Sample() {
			features = new ArrayList<Double>();
		}
	}

	private class Node {
		Double lable;
		Integer idx;

		Node(double lable, int idx) {
			this.lable = lable;
			this.idx = idx;
		}
	}

	private void readTrain(List<Sample> train, double[][] features,
			double[] lables) {

		int row = lables.length;
		int col = features[0].length;
		for (int i = 0; i < row; i++) {
			Sample sample = new Sample();
			for (int j = 0; j < col; j++) {
				sample.lable = lables[i];
				sample.features.add(features[i][j]);
			}
			train.add(sample);
		}
	}

	private void readTest(List<Sample> test, double[][] features,
			double[] lables) {

		int cow = lables.length;
		int col = features[0].length;
		for (int i = 0; i < cow; i++) {
			Sample sample = new Sample();
			for (int j = 0; j < col; j++) {
				sample.lable = lables[i];
				sample.features.add(features[i][j]);
			}
			test.add(sample);
		}
	}

	private double euclideanDistance(List<Double> v1, List<Double> v2) {
		double ret = 0.0;
		int n = v1.size();
		for (int i = 0; i < n; i++) {
			ret += (v1.get(i) - v2.get(i)) * (v1.get(i) - v2.get(i));
		}
		return Math.sqrt(ret);
	}

	private void initDistanceMatrix(List<List<Double>> dm, List<Sample> train,
			List<Sample> test) {
		for (int i = 0; i < test.size(); i++) {
			List<Double> vd = new ArrayList<Double>();
			for (int j = 0; j < train.size(); ++j) {
				vd.add(euclideanDistance(test.get(i).features,
						train.get(j).features));
			}
			dm.add(vd);
		}
	}

	private void knnProcess(List<Sample> test, List<Sample> train,
			List<List<Double>> dm, int k) {
		int idx = 0;
		for (int i = 0; i < test.size(); i++) {
			NavigableMap<Double, Node> dts = new TreeMap<Double, Node>(); // 保存与测试样本i距离最近的k个点
			for (int j = 0; j < dm.get(i).size(); j++) {
				if (dts.size() < k) // 把前面k个插入dts中
				{
					// 插入时会自动排序,按dts中的double排序,最小的排在最后
					dts.put(dm.get(i).get(j), new Node(train.get(j).lable,
							idx++));
				} else {
					Map.Entry<Double, Node> node = dts.pollLastEntry();
					if (dm.get(i).get(j) < node.getKey()) // 把当前测试样本i到当前训练样本之间的欧氏距离与dts中最小距离比较,若更小就更新dts
					{
						dts.put(dm.get(i).get(j), new Node(train.get(j).lable,
								idx++));
					} else
						dts.put(node.getKey(), node.getValue());
				}
			}

			double prelable = -1;
			Map<Double, Double> tds = new HashMap<Double, Double>();
			double weight = 0.0;
			// 下面for循环主要是求出与测试样本i最邻近的k个样本点中大多数属于的类别,即将其作为测试样本点i的类别
			for (Map.Entry<Double, Node> it : dts.entrySet()) {
				// 不考虑权重的情况,在 k 个样例中只要出现就加 1
				// 这里是考虑距离与权重的关系,距离越大权重越小
				Double val = tds.get(it.getValue().lable);
				if (val == null)
					val = 0.0;
				val += 1.0 / it.getKey();
				tds.put(it.getValue().lable, val);
				if (val > weight) {
					weight = val;
					prelable = it.getValue().lable; // 保存一下类别
				}
			}
			test.get(i).prelable = prelable;
		}
	}

	public int DoKnn(double trainfeatures[][], double[] trainlables,
			double testfeatures[][], double[] testlables) {
		List<Sample> train = new ArrayList<Sample>();
		List<Sample> test = new ArrayList<Sample>();
		readTrain(train, trainfeatures, trainlables);
		readTest(test, testfeatures, testlables);
		List<List<Double>> dm = new ArrayList<List<Double>>();
		initDistanceMatrix(dm, train, test);
		knnProcess(test, train, dm, K);
		int yes = 0;
		for (int i = 0; i < test.size(); i++) {
			if (test.get(i).lable == test.get(i).prelable)
				yes++;
		}
		System.out.println("Accuracy = " + yes * 100.0 / test.size() + "% ("
				+ yes + "/" + test.size() + ") (classification)");
		return yes;
	}
}

测试调用

adult from UCI 

Accuracy = 66.66666666666667% (160/240) (classification)

public class KnnTest {
	public static void main(String[] args) {

		SampleRead TrainsvmRead = new SampleRead("adult_train.txt");
		SampleRead TestsvmRead = new SampleRead("adult_test.txt");

		new KNN(2).DoKnn(TrainsvmRead.getFetures(), TrainsvmRead.getLables(),
				TestsvmRead.getFetures(), TestsvmRead.getLables());

	}

}

adult_train.txt

1 1:39 2:1 3:77516 4:1 5:13 6:1 7:1 8:1 9:1 10:1 11:2174 12:0 13:40 14:1
1 1:50 2:2 3:83311 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:13 14:1
1 1:38 2:3 3:215646 4:2 5:9 6:3 7:3 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:53 2:3 3:234721 4:3 5:7 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:28 2:3 3:338409 4:1 5:13 6:2 7:4 8:3 9:2 10:2 11:0 12:0 13:40 14:2
1 1:37 2:3 3:284582 4:4 5:14 6:2 7:2 8:3 9:1 10:2 11:0 12:0 13:40 14:1
1 1:49 2:3 3:160187 4:5 5:5 6:4 7:5 8:1 9:2 10:2 11:0 12:0 13:16 14:3
2 1:52 2:2 3:209642 4:2 5:9 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:45 14:1
2 1:31 2:3 3:45781 4:4 5:14 6:1 7:4 8:1 9:1 10:2 11:14084 12:0 13:50 14:1
2 1:42 2:3 3:159449 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:5178 12:0 13:40 14:1
2 1:37 2:3 3:280464 4:6 5:10 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:80 14:1
2 1:30 2:1 3:141297 4:1 5:13 6:2 7:4 8:2 9:3 10:1 11:0 12:0 13:40 14:4
1 1:23 2:3 3:122272 4:1 5:13 6:1 7:1 8:4 9:1 10:2 11:0 12:0 13:30 14:1
1 1:32 2:3 3:205019 4:7 5:12 6:1 7:6 8:1 9:2 10:1 11:0 12:0 13:50 14:1
1 1:34 2:3 3:245487 4:8 5:4 6:2 7:7 8:2 9:4 10:1 11:0 12:0 13:45 14:5
1 1:25 2:2 3:176756 4:2 5:9 6:1 7:8 8:4 9:1 10:1 11:0 12:0 13:35 14:1
1 1:32 2:3 3:186824 4:2 5:9 6:1 7:9 8:5 9:1 10:1 11:0 12:0 13:40 14:1
1 1:38 2:3 3:28887 4:3 5:7 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:50 14:1
2 1:43 2:2 3:292175 4:4 5:14 6:3 7:2 8:5 9:1 10:2 11:0 12:0 13:45 14:1
2 1:40 2:3 3:193524 4:9 5:16 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:60 14:1
1 1:54 2:3 3:302146 4:2 5:9 6:5 7:5 8:5 9:2 10:2 11:0 12:0 13:20 14:1
1 1:35 2:4 3:76845 4:5 5:5 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:43 2:3 3:117037 4:3 5:7 6:2 7:7 8:2 9:1 10:1 11:0 12:2042 13:40 14:1
1 1:59 2:3 3:109015 4:2 5:9 6:3 7:10 8:5 9:1 10:2 11:0 12:0 13:40 14:1
2 1:56 2:5 3:216851 4:1 5:13 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:19 2:3 3:168294 4:2 5:9 6:1 7:11 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:39 2:3 3:367260 4:2 5:9 6:3 7:2 8:1 9:1 10:1 11:0 12:0 13:80 14:1
1 1:49 2:3 3:193366 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:23 2:5 3:190709 4:7 5:12 6:1 7:12 8:1 9:1 10:1 11:0 12:0 13:52 14:1
1 1:20 2:3 3:266015 4:6 5:10 6:1 7:6 8:4 9:2 10:1 11:0 12:0 13:44 14:1
1 1:45 2:3 3:386940 4:1 5:13 6:3 7:2 8:4 9:1 10:1 11:0 12:1408 13:40 14:1
1 1:30 2:4 3:59951 4:6 5:10 6:2 7:1 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:22 2:1 3:311512 4:6 5:10 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:15 14:1
1 1:48 2:3 3:242406 4:3 5:7 6:1 7:9 8:5 9:1 10:1 11:0 12:0 13:40 14:6
1 1:21 2:3 3:197200 4:6 5:10 6:1 7:9 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:19 2:3 3:544091 4:2 5:9 6:6 7:1 8:3 9:1 10:2 11:0 12:0 13:25 14:1
1 1:48 2:2 3:265477 4:7 5:12 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:31 2:3 3:507875 4:5 5:5 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:43 14:1
1 1:53 2:2 3:88506 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:24 2:3 3:172987 4:1 5:13 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:49 2:3 3:94638 4:2 5:9 6:5 7:1 8:5 9:1 10:2 11:0 12:0 13:40 14:1
1 1:25 2:3 3:289980 4:2 5:9 6:1 7:3 8:1 9:1 10:1 11:0 12:0 13:35 14:1
2 1:57 2:4 3:337895 4:1 5:13 6:2 7:4 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:53 2:3 3:144361 4:2 5:9 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:38 14:1
1 1:44 2:3 3:128354 4:4 5:14 6:3 7:2 8:5 9:1 10:2 11:0 12:0 13:40 14:1
1 1:41 2:1 3:101603 4:10 5:11 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:29 2:3 3:271466 4:10 5:11 6:1 7:4 8:1 9:1 10:1 11:0 12:0 13:43 14:1
1 1:25 2:3 3:32275 4:6 5:10 6:2 7:2 8:3 9:5 10:2 11:0 12:0 13:40 14:1
2 1:47 2:3 3:51835 4:11 5:15 6:2 7:4 8:3 9:1 10:2 11:0 12:1902 13:60 14:7
2 1:50 2:4 3:251585 4:1 5:13 6:3 7:2 8:1 9:1 10:1 11:0 12:0 13:55 14:1
1 1:47 2:6 3:109832 4:2 5:9 6:3 7:2 8:1 9:1 10:1 11:0 12:0 13:60 14:1
2 1:43 2:3 3:237993 4:6 5:10 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:46 2:3 3:216666 4:12 5:3 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:40 14:5
1 1:35 2:3 3:56352 4:10 5:11 6:2 7:5 8:2 9:1 10:1 11:0 12:0 13:40 14:6
1 1:41 2:3 3:147372 4:2 5:9 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:48 14:1
1 1:30 2:3 3:188146 4:2 5:9 6:2 7:9 8:2 9:1 10:1 11:5013 12:0 13:40 14:1
1 1:30 2:3 3:59496 4:1 5:13 6:2 7:6 8:2 9:1 10:1 11:2407 12:0 13:40 14:1
1 1:48 2:3 3:149640 4:2 5:9 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:42 2:3 3:116632 4:9 5:16 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:45 14:1
1 1:29 2:3 3:105598 4:6 5:10 6:3 7:10 8:1 9:1 10:1 11:0 12:0 13:58 14:1
1 1:36 2:3 3:155537 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:28 2:3 3:183175 4:6 5:10 6:3 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
2 1:53 2:3 3:169846 4:2 5:9 6:2 7:1 8:3 9:1 10:2 11:0 12:0 13:40 14:1
2 1:49 2:6 3:191681 4:6 5:10 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:19 2:3 3:101509 4:6 5:10 6:1 7:4 8:4 9:1 10:1 11:0 12:0 13:32 14:1
1 1:31 2:3 3:309974 4:1 5:13 6:5 7:6 8:4 9:2 10:2 11:0 12:0 13:40 14:1
2 1:29 2:2 3:162298 4:1 5:13 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:70 14:1
1 1:23 2:3 3:211678 4:6 5:10 6:1 7:9 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:79 2:3 3:124744 4:6 5:10 6:2 7:4 8:6 9:1 10:1 11:0 12:0 13:20 14:1
1 1:27 2:3 3:213921 4:2 5:9 6:1 7:5 8:4 9:1 10:1 11:0 12:0 13:40 14:5
1 1:40 2:3 3:32214 4:7 5:12 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:18 2:3 3:309634 4:3 5:7 6:1 7:5 8:4 9:1 10:2 11:0 12:0 13:22 14:1
1 1:31 2:5 3:125927 4:8 5:4 6:2 7:8 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:18 2:3 3:446839 4:2 5:9 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:30 14:1
1 1:52 2:3 3:276515 4:1 5:13 6:2 7:5 8:2 9:1 10:1 11:0 12:0 13:40 14:2
1 1:46 2:3 3:51618 4:2 5:9 6:2 7:5 8:3 9:1 10:2 11:0 12:0 13:40 14:1
1 1:59 2:3 3:159937 4:2 5:9 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:48 14:1
2 1:44 2:3 3:343591 4:2 5:9 6:3 7:11 8:1 9:1 10:2 11:14344 12:0 13:40 14:1
1 1:53 2:3 3:346253 4:2 5:9 6:3 7:6 8:4 9:1 10:2 11:0 12:0 13:35 14:1
2 1:49 2:5 3:268234 4:2 5:9 6:2 7:12 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:33 2:3 3:202051 4:4 5:14 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:30 2:3 3:54334 4:5 5:5 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:40 14:1
2 1:43 2:4 3:410867 4:9 5:16 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:50 14:1
1 1:57 2:3 3:249977 4:10 5:11 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:37 2:3 3:286730 4:6 5:10 6:3 7:11 8:5 9:1 10:2 11:0 12:0 13:40 14:1
1 1:28 2:3 3:212563 4:6 5:10 6:3 7:9 8:5 9:2 10:2 11:0 12:0 13:25 14:1
2 1:34 2:5 3:226296 4:1 5:13 6:2 7:12 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:29 2:5 3:115585 4:6 5:10 6:1 7:3 8:1 9:1 10:1 11:0 12:0 13:50 14:1
2 1:48 2:2 3:191277 4:9 5:16 6:2 7:4 8:2 9:1 10:1 11:0 12:1902 13:60 14:1
2 1:37 2:3 3:202683 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:48 14:1
1 1:48 2:3 3:171095 4:7 5:12 6:3 7:2 8:5 9:1 10:2 11:0 12:0 13:40 14:8
1 1:32 2:4 3:249409 4:2 5:9 6:1 7:5 8:4 9:2 10:1 11:0 12:0 13:40 14:1
2 1:76 2:3 3:124191 4:4 5:14 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:44 2:3 3:198282 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:15024 12:0 13:60 14:1
1 1:47 2:2 3:149116 4:4 5:14 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:50 14:1
1 1:20 2:3 3:188300 4:6 5:10 6:1 7:10 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:29 2:3 3:103432 4:2 5:9 6:1 7:11 8:1 9:1 10:1 11:0 12:0 13:40 14:1
2 1:32 2:6 3:317660 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:7688 12:0 13:40 14:1
1 1:30 2:3 3:194901 4:3 5:7 6:1 7:3 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:31 2:5 3:189265 4:2 5:9 6:1 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:42 2:3 3:124692 4:2 5:9 6:2 7:3 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:24 2:3 3:432376 4:1 5:13 6:1 7:6 8:6 9:1 10:1 11:0 12:0 13:40 14:1
2 1:38 2:3 3:65324 4:11 5:15 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:56 2:2 3:335605 4:2 5:9 6:2 7:5 8:2 9:1 10:1 11:0 12:1887 13:50 14:9
1 1:28 2:3 3:377869 4:6 5:10 6:2 7:6 8:3 9:1 10:2 11:4064 12:0 13:25 14:1
1 1:36 2:3 3:102864 4:2 5:9 6:1 7:9 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:53 2:3 3:95647 4:5 5:5 6:2 7:3 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:56 2:6 3:303090 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:50 14:1
2 1:49 2:5 3:197371 4:10 5:11 6:2 7:11 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:55 2:3 3:247552 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:56 14:1
1 1:22 2:3 3:102632 4:2 5:9 6:1 7:11 8:1 9:1 10:1 11:0 12:0 13:41 14:1
1 1:21 2:3 3:199915 4:6 5:10 6:1 7:5 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:40 2:3 3:118853 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:60 14:1
1 1:30 2:3 3:77143 4:1 5:13 6:1 7:2 8:4 9:2 10:1 11:0 12:0 13:40 14:10
2 1:29 2:1 3:267989 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:19 2:3 3:301606 4:6 5:10 6:1 7:5 8:4 9:2 10:1 11:0 12:0 13:35 14:1
2 1:47 2:3 3:287828 4:1 5:13 6:2 7:2 8:3 9:1 10:2 11:0 12:0 13:40 14:1
1 1:20 2:3 3:111697 4:6 5:10 6:1 7:1 8:4 9:1 10:2 11:0 12:1719 13:28 14:1
2 1:31 2:3 3:114937 4:7 5:12 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:39 2:3 3:365739 4:6 5:10 6:3 7:11 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:28 2:3 3:69621 4:7 5:12 6:1 7:6 8:1 9:1 10:2 11:0 12:0 13:60 14:1
1 1:24 2:3 3:43323 4:2 5:9 6:1 7:5 8:1 9:1 10:2 11:0 12:1762 13:40 14:1
1 1:38 2:2 3:120985 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:4386 12:0 13:35 14:1
1 1:37 2:3 3:254202 4:1 5:13 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:46 2:3 3:146195 4:7 5:12 6:3 7:10 8:1 9:2 10:2 11:0 12:0 13:36 14:1
2 1:38 2:4 3:125933 4:4 5:14 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:11
1 1:43 2:2 3:56920 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:60 14:1
1 1:27 2:3 3:163127 4:10 5:11 6:2 7:1 8:3 9:1 10:2 11:0 12:0 13:35 14:1
1 1:20 2:3 3:34310 4:6 5:10 6:1 7:6 8:4 9:1 10:1 11:0 12:0 13:20 14:1
2 1:49 2:3 3:81973 4:6 5:10 6:2 7:11 8:2 9:3 10:1 11:0 12:0 13:40 14:1
1 1:61 2:6 3:66614 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:27 2:3 3:232782 4:6 5:10 6:1 7:6 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:19 2:3 3:316868 4:6 5:10 6:1 7:5 8:4 9:1 10:1 11:0 12:0 13:30 14:5
2 1:45 2:3 3:196584 4:10 5:11 6:1 7:4 8:1 9:1 10:2 11:0 12:1564 13:40 14:1
1 1:70 2:3 3:105376 4:6 5:10 6:1 7:10 8:6 9:1 10:1 11:0 12:0 13:40 14:1
1 1:31 2:3 3:185814 4:2 5:9 6:1 7:7 8:5 9:2 10:2 11:0 12:0 13:30 14:1
1 1:22 2:3 3:175374 4:6 5:10 6:2 7:5 8:2 9:1 10:1 11:0 12:0 13:24 14:1
1 1:36 2:3 3:108293 4:2 5:9 6:7 7:5 8:5 9:1 10:2 11:0 12:0 13:24 14:1
1 1:64 2:3 3:181232 4:3 5:7 6:2 7:11 8:2 9:1 10:1 11:0 12:2179 13:40 14:1
1 1:47 2:5 3:186009 4:6 5:10 6:3 7:1 8:5 9:1 10:2 11:0 12:0 13:38 14:5
1 1:34 2:3 3:198183 4:2 5:9 6:1 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:33 2:3 3:163003 4:1 5:13 6:1 7:2 8:6 9:3 10:2 11:0 12:0 13:40 14:12
1 1:21 2:3 3:296158 4:2 5:9 6:1 7:11 8:4 9:1 10:1 11:0 12:0 13:35 14:1
1 1:48 2:3 3:187715 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:46 14:1
1 1:23 2:3 3:214542 4:1 5:13 6:1 7:3 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:71 2:2 3:494223 4:6 5:10 6:5 7:6 8:5 9:2 10:1 11:0 12:1816 13:2 14:1
1 1:29 2:3 3:191535 4:2 5:9 6:3 7:11 8:1 9:1 10:1 11:0 12:0 13:60 14:1
1 1:42 2:3 3:228456 4:1 5:13 6:5 7:5 8:6 9:2 10:1 11:0 12:0 13:50 14:1
1 1:25 2:3 3:252752 4:2 5:9 6:1 7:5 8:5 9:1 10:2 11:0 12:0 13:40 14:1
1 1:44 2:6 3:78374 4:4 5:14 6:3 7:2 8:5 9:3 10:2 11:0 12:0 13:40 14:1
1 1:28 2:3 3:88419 4:2 5:9 6:1 7:2 8:1 9:3 10:2 11:0 12:0 13:40 14:8
2 1:45 2:2 3:201080 4:4 5:14 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:36 2:3 3:207157 4:6 5:10 6:3 7:5 8:5 9:1 10:2 11:0 12:0 13:40 14:5
1 1:39 2:4 3:235485 4:7 5:12 6:1 7:2 8:1 9:1 10:1 11:0 12:0 13:42 14:1
1 1:46 2:1 3:102628 4:4 5:14 6:7 7:12 8:5 9:1 10:1 11:0 12:0 13:40 14:1
1 1:18 2:3 3:25828 4:3 5:7 6:1 7:3 8:4 9:1 10:1 11:0 12:0 13:16 14:1
1 1:66 2:5 3:54826 4:10 5:11 6:7 7:4 8:1 9:1 10:2 11:0 12:0 13:20 14:1
1 1:27 2:3 3:124953 4:2 5:9 6:1 7:5 8:1 9:1 10:1 11:0 12:1980 13:40 14:1
1 1:28 2:1 3:175325 4:2 5:9 6:2 7:12 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:51 2:3 3:96062 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:1977 13:40 14:1
1 1:27 2:3 3:428030 4:1 5:13 6:1 7:11 8:1 9:1 10:1 11:0 12:0 13:50 14:1
2 1:28 2:1 3:149624 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:27 2:3 3:253814 4:2 5:9 6:4 7:6 8:5 9:1 10:2 11:0 12:0 13:25 14:1
1 1:21 2:3 3:312956 4:2 5:9 6:1 7:11 8:4 9:2 10:1 11:0 12:0 13:40 14:1
1 1:34 2:3 3:483777 4:2 5:9 6:1 7:3 8:1 9:2 10:1 11:0 12:0 13:40 14:1
1 1:18 2:3 3:183930 4:2 5:9 6:1 7:5 8:4 9:1 10:1 11:0 12:0 13:12 14:1
1 1:33 2:3 3:37274 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:65 14:1
2 1:44 2:5 3:181344 4:6 5:10 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:38 14:1
1 1:43 2:3 3:114580 4:6 5:10 6:3 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:30 2:3 3:633742 4:6 5:10 6:1 7:11 8:1 9:2 10:1 11:0 12:0 13:45 14:1
2 1:40 2:3 3:286370 4:8 5:4 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:40 14:5
2 1:37 2:4 3:29054 4:6 5:10 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:42 14:1
1 1:34 2:3 3:304030 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:41 2:2 3:143129 4:1 5:13 6:3 7:2 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:31 2:3 3:99928 4:4 5:14 6:2 7:4 8:3 9:1 10:2 11:0 12:0 13:50 14:1
2 1:58 2:1 3:109567 4:9 5:16 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:1 14:1
1 1:38 2:3 3:155222 4:6 5:10 6:3 7:9 8:1 9:2 10:2 11:0 12:0 13:28 14:1
1 1:24 2:3 3:159567 4:6 5:10 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:41 2:5 3:523910 4:1 5:13 6:2 7:11 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:47 2:3 3:120939 4:6 5:10 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:45 14:1
1 1:41 2:4 3:130760 4:1 5:13 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:24 14:1
1 1:23 2:3 3:197387 4:12 5:3 6:2 7:7 8:6 9:1 10:1 11:0 12:0 13:40 14:5
1 1:36 2:3 3:99374 4:6 5:10 6:3 7:11 8:1 9:1 10:1 11:0 12:0 13:40 14:1
2 1:40 2:4 3:56795 4:4 5:14 6:1 7:2 8:1 9:1 10:2 11:14084 12:0 13:55 14:1
2 1:35 2:3 3:138992 4:4 5:14 6:2 7:4 8:6 9:1 10:1 11:7298 12:0 13:40 14:1
1 1:24 2:2 3:32921 4:2 5:9 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:26 2:3 3:397317 4:4 5:14 6:1 7:4 8:1 9:1 10:2 11:0 12:1876 13:40 14:1
2 1:51 2:3 3:259323 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:42 2:5 3:254817 4:6 5:10 6:1 7:4 8:1 9:1 10:2 11:0 12:1340 13:40 14:1
1 1:37 2:1 3:48211 4:2 5:9 6:3 7:1 8:5 9:1 10:2 11:0 12:0 13:35 14:1
1 1:18 2:3 3:140164 4:3 5:7 6:1 7:6 8:4 9:1 10:2 11:0 12:0 13:40 14:1
2 1:36 2:3 3:128757 4:1 5:13 6:2 7:5 8:2 9:2 10:1 11:7298 12:0 13:36 14:1
1 1:35 2:3 3:36270 4:2 5:9 6:3 7:11 8:1 9:1 10:1 11:0 12:0 13:60 14:1
2 1:58 2:6 3:210563 4:2 5:9 6:2 7:6 8:3 9:1 10:2 11:15024 12:0 13:35 14:1
1 1:17 2:3 3:65368 4:3 5:7 6:1 7:6 8:4 9:1 10:2 11:0 12:0 13:12 14:1
1 1:44 2:5 3:160943 4:2 5:9 6:2 7:7 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:37 2:3 3:208358 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:35 2:3 3:153790 4:6 5:10 6:1 7:6 8:1 9:4 10:2 11:0 12:0 13:40 14:1
1 1:60 2:3 3:85815 4:2 5:9 6:2 7:11 8:2 9:3 10:1 11:0 12:0 13:40 14:1
2 1:54 2:6 3:125417 4:8 5:4 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:37 2:3 3:635913 4:1 5:13 6:1 7:2 8:1 9:2 10:1 11:0 12:0 13:60 14:1
1 1:50 2:3 3:313321 4:7 5:12 6:3 7:6 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:38 2:3 3:182609 4:1 5:13 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:50 14:13
1 1:45 2:3 3:109434 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:55 14:1
1 1:25 2:3 3:255004 4:13 5:6 6:1 7:11 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:31 2:3 3:197860 4:6 5:10 6:2 7:3 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:90 2:3 3:51744 4:2 5:9 6:1 7:5 8:1 9:2 10:1 11:0 12:2206 13:40 14:1
1 1:54 2:3 3:176681 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:20 14:1
1 1:53 2:5 3:140359 4:14 5:1 6:1 7:9 8:1 9:1 10:2 11:0 12:0 13:35 14:1
1 1:18 2:3 3:243313 4:2 5:9 6:1 7:6 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:66 2:2 3:167687 4:2 5:9 6:2 7:8 8:2 9:1 10:1 11:1409 12:0 13:50 14:1
1 1:75 2:3 3:314209 4:10 5:11 6:7 7:1 8:1 9:1 10:2 11:0 12:0 13:20 14:14
1 1:65 2:3 3:176796 4:2 5:9 6:3 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:35 2:3 3:538583 4:3 5:7 6:5 7:7 8:1 9:2 10:1 11:3674 12:0 13:40 14:1
1 1:41 2:3 3:130408 4:2 5:9 6:3 7:6 8:5 9:2 10:2 11:0 12:0 13:38 14:1
1 1:25 2:3 3:159732 4:6 5:10 6:1 7:1 8:1 9:1 10:1 11:0 12:0 13:42 14:1
1 1:33 2:3 3:110978 4:6 5:10 6:3 7:11 8:6 9:5 10:2 11:0 12:0 13:40 14:1
2 1:28 2:3 3:76714 4:11 5:15 6:1 7:4 8:1 9:1 10:1 11:0 12:0 13:55 14:1
1 1:59 2:1 3:268700 4:2 5:9 6:2 7:5 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:40 2:1 3:170525 4:6 5:10 6:1 7:1 8:1 9:1 10:2 11:0 12:0 13:38 14:1
2 1:41 2:3 3:180138 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:50 14:11
2 1:38 2:5 3:115076 4:4 5:14 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:70 14:1
1 1:23 2:3 3:115458 4:2 5:9 6:1 7:7 8:4 9:1 10:1 11:0 12:0 13:40 14:1
2 1:40 2:3 3:347890 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:41 2:2 3:196001 4:2 5:9 6:2 7:5 8:3 9:1 10:2 11:0 12:0 13:20 14:1
1 1:24 2:1 3:273905 4:7 5:12 6:2 7:12 8:2 9:1 10:1 11:0 12:0 13:50 14:1
1 1:38 2:3 3:179488 4:6 5:10 6:3 7:11 8:1 9:1 10:1 11:0 12:1741 13:40 14:1
2 1:58 2:3 3:236596 4:2 5:9 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:45 14:1
1 1:32 2:3 3:183916 4:2 5:9 6:1 7:5 8:1 9:1 10:2 11:0 12:0 13:34 14:1
2 1:40 2:3 3:207578 4:7 5:12 6:2 7:10 8:2 9:1 10:1 11:0 12:1977 13:60 14:1
2 1:41 2:3 3:112763 4:11 5:15 6:2 7:4 8:3 9:1 10:2 11:0 12:0 13:40 14:1
1 1:42 2:3 3:390781 4:1 5:13 6:2 7:1 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:59 2:5 3:171328 4:13 5:6 6:7 7:5 8:5 9:2 10:2 11:0 12:0 13:30 14:1
1 1:19 2:5 3:27382 4:6 5:10 6:1 7:1 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:58 2:3 3:259014 4:6 5:10 6:1 7:7 8:1 9:1 10:1 11:0 12:0 13:20 14:1
2 1:42 2:2 3:303044 4:2 5:9 6:2 7:8 8:2 9:3 10:1 11:0 12:0 13:40 14:15
1 1:20 2:3 3:117789 4:2 5:9 6:1 7:5 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:32 2:3 3:172579 4:2 5:9 6:5 7:5 8:1 9:1 10:2 11:0 12:0 13:30 14:1
1 1:45 2:3 3:187666 4:10 5:11 6:7 7:2 8:1 9:1 10:2 11:0 12:0 13:45 14:1
1 1:50 2:3 3:204518 4:8 5:4 6:3 7:11 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:36 2:3 3:150042 4:1 5:13 6:3 7:4 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:45 2:3 3:98092 4:2 5:9 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:60 14:1
1 1:17 2:3 3:245918 4:3 5:7 6:1 7:5 8:4 9:1 10:1 11:0 12:0 13:12 14:1
1 1:59 2:3 3:146013 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:4064 12:0 13:40 14:1
1 1:26 2:3 3:378322 4:3 5:7 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:37 2:6 3:257295 4:6 5:10 6:2 7:2 8:2 9:3 10:1 11:0 12:0 13:75 14:16
2 1:64 2:3 3:21174 4:2 5:9 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:33 2:3 3:185480 4:1 5:13 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:45 14:1
2 1:33 2:3 3:222205 4:2 5:9 6:2 7:11 8:3 9:1 10:2 11:0 12:0 13:40 14:1
2 1:61 2:3 3:69867 4:2 5:9 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:17 2:3 3:191260 4:5 5:5 6:1 7:5 8:4 9:1 10:1 11:1055 12:0 13:24 14:1
1 1:50 2:2 3:30653 4:4 5:14 6:2 7:8 8:2 9:1 10:1 11:2407 12:0 13:98 14:1
1 1:27 2:5 3:209109 4:4 5:14 6:1 7:4 8:4 9:1 10:1 11:0 12:0 13:35 14:1
1 1:30 2:3 3:70377 4:2 5:9 6:3 7:4 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:43 2:3 3:477983 4:2 5:9 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:44 2:3 3:170924 4:6 5:10 6:2 7:11 8:2 9:1 10:1 11:7298 12:0 13:40 14:1
1 1:35 2:3 3:190174 4:6 5:10 6:1 7:2 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:25 2:3 3:193787 4:6 5:10 6:1 7:10 8:4 9:1 10:2 11:0 12:0 13:40 14:1
2 1:24 2:3 3:279472 4:6 5:10 6:2 7:9 8:3 9:1 10:2 11:7298 12:0 13:48 14:1
1 1:22 2:3 3:34918 4:1 5:13 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:15 14:10
2 1:42 2:5 3:97688 4:6 5:10 6:2 7:11 8:2 9:1 10:1 11:5178 12:0 13:40 14:1
1 1:34 2:3 3:175413 4:7 5:12 6:3 7:6 8:5 9:2 10:2 11:0 12:0 13:45 14:1
1 1:60 2:3 3:173960 4:1 5:13 6:3 7:4 8:1 9:1 10:2 11:0 12:0 13:42 14:1
1 1:21 2:3 3:205759 4:2 5:9 6:1 7:3 8:4 9:1 10:1 11:0 12:0 13:40 14:1
2 1:57 2:4 3:425161 4:4 5:14 6:2 7:6 8:2 9:1 10:1 11:15024 12:0 13:40 14:1
2 1:41 2:3 3:220531 4:11 5:15 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:60 14:1
1 1:50 2:3 3:176609 4:6 5:10 6:3 7:5 8:1 9:1 10:1 11:0 12:0 13:45 14:1
1 1:25 2:3 3:371987 4:1 5:13 6:1 7:2 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:50 2:3 3:193884 4:8 5:4 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:17
1 1:36 2:3 3:200352 4:1 5:13 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:45 14:1
1 1:31 2:3 3:127595 4:2 5:9 6:3 7:4 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:29 2:5 3:220419 4:1 5:13 6:1 7:12 8:1 9:1 10:1 11:0 12:0 13:56 14:1
1 1:21 2:3 3:231931 4:6 5:10 6:1 7:6 8:4 9:1 10:1 11:0 12:0 13:45 14:1
1 1:27 2:3 3:248402 4:1 5:13 6:1 7:10 8:5 9:2 10:2 11:0 12:0 13:40 14:1
1 1:65 2:3 3:111095 4:2 5:9 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:16 14:1
1 1:37 2:6 3:57424 4:1 5:13 6:3 7:6 8:1 9:1 10:2 11:0 12:0 13:60 14:1
1 1:24 2:3 3:278130 4:2 5:9 6:1 7:11 8:4 9:1 10:1 11:0 12:0 13:40 14:1
1 1:38 2:3 3:169469 4:2 5:9 6:3 7:6 8:1 9:1 10:1 11:0 12:0 13:80 14:1
2 1:48 2:3 3:146268 4:1 5:13 6:2 7:1 8:2 9:1 10:1 11:7688 12:0 13:40 14:1
1 1:21 2:3 3:153718 4:6 5:10 6:1 7:5 8:1 9:3 10:2 11:0 12:0 13:25 14:1
2 1:31 2:3 3:217460 4:2 5:9 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:45 14:1
2 1:55 2:3 3:238638 4:2 5:9 6:2 7:6 8:2 9:1 10:1 11:4386 12:0 13:40 14:1
1 1:24 2:3 3:303296 4:6 5:10 6:2 7:1 8:3 9:3 10:2 11:0 12:0 13:40 14:18
1 1:43 2:3 3:173321 4:2 5:9 6:3 7:1 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:26 2:3 3:193945 4:7 5:12 6:1 7:10 8:1 9:1 10:1 11:0 12:0 13:45 14:1
1 1:46 2:3 3:83082 4:7 5:12 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:33 14:1
2 1:35 2:3 3:193815 4:7 5:12 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:41 2:6 3:34987 4:6 5:10 6:2 7:8 8:2 9:1 10:1 11:0 12:0 13:54 14:1
1 1:26 2:3 3:59306 4:1 5:13 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:40 14:1
2 1:34 2:3 3:142897 4:4 5:14 6:2 7:2 8:2 9:3 10:1 11:7298 12:0 13:35 14:19
2 1:36 2:2 3:205607 4:1 5:13 6:3 7:4 8:1 9:2 10:2 11:0 12:0 13:40 14:1
1 1:22 2:3 3:199698 4:6 5:10 6:1 7:6 8:4 9:1 10:1 11:0 12:0 13:15 14:1
1 1:24 2:3 3:191954 4:6 5:10 6:1 7:9 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:77 2:2 3:138714 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:22 2:3 3:399087 4:12 5:3 6:2 7:9 8:6 9:1 10:2 11:0 12:0 13:40 14:5
1 1:29 2:3 3:423158 4:6 5:10 6:1 7:10 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:62 2:3 3:159841 4:2 5:9 6:7 7:5 8:1 9:1 10:2 11:0 12:0 13:24 14:1
1 1:39 2:2 3:174308 4:2 5:9 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:43 2:3 3:50356 4:6 5:10 6:2 7:11 8:2 9:1 10:1 11:0 12:1485 13:50 14:1
1 1:35 2:3 3:186110 4:2 5:9 6:3 7:7 8:1 9:1 10:1 11:0 12:0 13:45 14:1
1 1:29 2:3 3:200381 4:3 5:7 6:1 7:2 8:1 9:1 10:2 11:0 12:0 13:40 14:1
1 1:76 2:2 3:174309 4:4 5:14 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:10 14:1
1 1:63 2:2 3:78383 4:2 5:9 6:2 7:8 8:2 9:1 10:1 11:0 12:0 13:45 14:1
2 1:43 2:3 3:187728 4:6 5:10 6:2 7:4 8:3 9:1 10:2 11:0 12:1887 13:50 14:1
1 1:58 2:2 3:321171 4:2 5:9 6:2 7:3 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:66 2:3 3:127921 4:2 5:9 6:1 7:7 8:1 9:1 10:1 11:2050 12:0 13:55 14:1
1 1:41 2:3 3:206565 4:6 5:10 6:1 7:11 8:1 9:2 10:1 11:0 12:0 13:45 14:1
1 1:26 2:3 3:224563 4:1 5:13 6:1 7:1 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:47 2:3 3:178686 4:10 5:11 6:1 7:5 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:55 2:5 3:98545 4:13 5:6 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:53 2:3 3:242606 4:2 5:9 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:17 2:3 3:270942 4:12 5:3 6:1 7:5 8:6 9:1 10:1 11:0 12:0 13:48 14:5
1 1:30 2:3 3:94235 4:2 5:9 6:1 7:11 8:6 9:1 10:1 11:0 12:0 13:40 14:1
1 1:49 2:3 3:71195 4:4 5:14 6:1 7:4 8:1 9:1 10:1 11:0 12:0 13:60 14:1
1 1:19 2:3 3:104112 4:2 5:9 6:1 7:6 8:5 9:2 10:1 11:0 12:0 13:30 14:20
1 1:45 2:3 3:261192 4:2 5:9 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:3 3:94936 4:7 5:12 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:40 14:1
2 1:38 2:3 3:296478 4:10 5:11 6:2 7:11 8:2 9:1 10:1 11:7298 12:0 13:40 14:1
2 1:36 2:1 3:119272 4:2 5:9 6:2 7:12 8:2 9:1 10:1 11:7298 12:0 13:40 14:1
1 1:33 2:3 3:85043 4:2 5:9 6:1 7:8 8:1 9:1 10:1 11:0 12:0 13:20 14:1
1 1:22 2:1 3:293364 4:6 5:10 6:1 7:12 8:4 9:2 10:2 11:0 12:0 13:40 14:1
1 1:43 2:2 3:241895 4:1 5:13 6:1 7:6 8:1 9:1 10:1 11:0 12:0 13:42 14:1
1 1:56 2:3 3:101128 4:7 5:12 6:4 7:5 8:1 9:1 10:1 11:0 12:0 13:25 14:11
1 1:31 2:3 3:156464 4:1 5:13 6:1 7:4 8:4 9:1 10:1 11:0 12:0 13:25 14:1
2 1:33 2:3 3:117963 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:26 2:3 3:192262 4:2 5:9 6:2 7:5 8:2 9:1 10:1 11:0 12:0 13:40 14:1
2 1:33 2:3 3:111363 4:1 5:13 6:2 7:2 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:46 2:5 3:329752 4:3 5:7 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:30 14:1
2 1:38 2:4 3:95432 4:2 5:9 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:65 2:3 3:161400 4:3 5:7 6:7 7:5 8:5 9:5 10:1 11:0 12:0 13:40 14:1
2 1:40 2:3 3:96129 4:10 5:11 6:2 7:10 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:42 2:3 3:111949 4:2 5:9 6:2 7:1 8:3 9:1 10:2 11:0 12:0 13:35 14:1
1 1:26 2:2 3:117125 4:5 5:5 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:21
1 1:36 2:3 3:348022 4:13 5:6 6:2 7:5 8:3 9:1 10:2 11:0 12:0 13:24 14:1
2 1:62 2:3 3:270092 4:4 5:14 6:2 7:4 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:43 2:3 3:180609 4:1 5:13 6:2 7:7 8:2 9:1 10:1 11:0 12:0 13:45 14:1
2 1:43 2:3 3:174575 4:1 5:13 6:3 7:2 8:1 9:1 10:1 11:0 12:1564 13:45 14:1
1 1:22 2:3 3:410439 4:2 5:9 6:4 7:6 8:1 9:1 10:1 11:0 12:0 13:55 14:1
1 1:28 2:3 3:92262 4:2 5:9 6:2 7:11 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:56 2:2 3:183081 4:6 5:10 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:45 14:1
1 1:22 2:3 3:362589 4:7 5:12 6:1 7:6 8:1 9:1 10:2 11:0 12:0 13:15 14:1
2 1:57 2:3 3:212448 4:1 5:13 6:3 7:2 8:1 9:1 10:2 11:0 12:0 13:45 14:1
1 1:39 2:3 3:481060 4:2 5:9 6:3 7:6 8:5 9:1 10:2 11:0 12:0 13:40 14:1
1 1:26 2:4 3:185885 4:6 5:10 6:1 7:1 8:5 9:1 10:2 11:0 12:0 13:15 14:1
1 1:17 2:3 3:89821 4:3 5:7 6:1 7:5 8:4 9:1 10:1 11:0 12:0 13:10 14:1
2 1:40 2:1 3:184018 4:10 5:11 6:2 7:9 8:2 9:1 10:1 11:0 12:0 13:38 14:1
1 1:45 2:3 3:256649 4:2 5:9 6:2 7:9 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:44 2:3 3:160323 4:2 5:9 6:1 7:11 8:1 9:2 10:1 11:0 12:0 13:40 14:1
1 1:20 2:5 3:350845 4:6 5:10 6:1 7:1 8:4 9:1 10:2 11:0 12:0 13:10 14:1
1 1:33 2:3 3:267404 4:2 5:9 6:2 7:11 8:3 9:1 10:2 11:0 12:0 13:40 14:1


adult_test.txt

1 1:25 2:1 3:226802 4:1 5:7 6:1 7:1 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:38 2:1 3:89814 4:2 5:9 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:50 14:1
2 1:28 2:2 3:336951 4:3 5:12 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:44 2:1 3:160323 4:4 5:10 6:2 7:1 8:2 9:1 10:1 11:7688 12:0 13:40 14:1
1 1:34 2:1 3:198693 4:5 5:6 6:1 7:4 8:3 9:2 10:1 11:0 12:0 13:30 14:1
2 1:63 2:3 3:104626 4:6 5:15 6:2 7:5 8:2 9:2 10:1 11:3103 12:0 13:32 14:1
1 1:24 2:1 3:369667 4:4 5:10 6:1 7:4 8:4 9:2 10:2 11:0 12:0 13:40 14:1
1 1:55 2:1 3:104996 4:7 5:4 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:10 14:1
2 1:65 2:1 3:184454 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:6418 12:0 13:40 14:1
1 1:36 2:4 3:212465 4:8 5:13 6:2 7:7 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:1 3:82091 4:2 5:9 6:1 7:7 8:3 9:2 10:2 11:0 12:0 13:39 14:1
2 1:48 2:1 3:279724 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:3103 12:0 13:48 14:1
2 1:43 2:1 3:346189 4:9 5:14 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:20 2:5 3:444554 4:4 5:10 6:1 7:4 8:1 9:2 10:1 11:0 12:0 13:25 14:1
1 1:43 2:1 3:128354 4:2 5:9 6:2 7:7 8:5 9:2 10:2 11:0 12:0 13:30 14:1
1 1:37 2:1 3:60548 4:2 5:9 6:3 7:1 8:4 9:2 10:2 11:0 12:0 13:20 14:1
2 1:34 2:1 3:107914 4:8 5:13 6:2 7:9 8:2 9:2 10:1 11:0 12:0 13:47 14:1
1 1:34 2:1 3:238588 4:4 5:10 6:1 7:4 8:1 9:1 10:2 11:0 12:0 13:35 14:1
1 1:25 2:1 3:220931 4:8 5:13 6:1 7:5 8:3 9:2 10:1 11:0 12:0 13:43 14:2
1 1:25 2:1 3:205947 4:8 5:13 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:45 2:3 3:432824 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:7298 12:0 13:90 14:1
1 1:22 2:1 3:236427 4:2 5:9 6:1 7:7 8:1 9:2 10:1 11:0 12:0 13:20 14:1
1 1:23 2:1 3:134446 4:2 5:9 6:4 7:1 8:4 9:1 10:1 11:0 12:0 13:54 14:1
1 1:54 2:1 3:99516 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:35 14:1
1 1:32 2:3 3:109282 4:4 5:10 6:1 7:5 8:3 9:2 10:1 11:0 12:0 13:60 14:1
2 1:46 2:5 3:106444 4:4 5:10 6:2 7:8 8:2 9:1 10:1 11:7688 12:0 13:38 14:1
1 1:56 2:3 3:186651 4:1 5:7 6:3 7:4 8:4 9:2 10:2 11:0 12:0 13:50 14:1
1 1:24 2:3 3:188274 4:8 5:13 6:1 7:10 8:3 9:2 10:1 11:0 12:0 13:50 14:1
1 1:23 2:2 3:258120 4:4 5:10 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:1 3:43311 4:2 5:9 6:5 7:8 8:4 9:2 10:2 11:0 12:0 13:40 14:1
2 1:36 2:2 3:403681 4:8 5:13 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:22 2:1 3:248446 4:10 5:3 6:1 7:11 8:3 9:2 10:1 11:0 12:0 13:50 14:3
1 1:17 2:1 3:269430 4:5 5:6 6:1 7:1 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:20 2:1 3:257509 4:2 5:9 6:1 7:6 8:1 9:2 10:1 11:0 12:0 13:40 14:1
2 1:65 2:1 3:136384 4:9 5:14 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:50 14:1
2 1:44 2:6 3:120277 4:11 5:11 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:45 14:1
1 1:36 2:1 3:465326 4:2 5:9 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:29 2:1 3:103634 4:1 5:7 6:2 7:4 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:20 2:5 3:138371 4:4 5:10 6:1 7:2 8:1 9:2 10:1 11:0 12:0 13:32 14:1
2 1:28 2:1 3:242832 4:11 5:11 6:2 7:5 8:5 9:2 10:2 11:0 12:0 13:36 14:1
1 1:39 2:1 3:290208 4:7 5:4 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:40 14:4
1 1:54 2:1 3:186272 4:4 5:10 6:2 7:12 8:2 9:2 10:1 11:3908 12:0 13:50 14:1
1 1:52 2:1 3:201062 4:1 5:7 6:4 7:11 8:3 9:1 10:2 11:0 12:0 13:18 14:1
1 1:56 2:6 3:131916 4:2 5:9 6:3 7:8 8:3 9:2 10:2 11:0 12:0 13:50 14:1
1 1:18 2:1 3:54440 4:4 5:10 6:1 7:4 8:1 9:2 10:1 11:0 12:0 13:20 14:1
1 1:39 2:1 3:280215 4:2 5:9 6:5 7:13 8:1 9:1 10:1 11:0 12:0 13:40 14:1
1 1:21 2:1 3:214399 4:4 5:10 6:1 7:4 8:1 9:2 10:2 11:0 12:1721 13:24 14:1
2 1:22 2:1 3:54164 4:2 5:9 6:1 7:4 8:3 9:2 10:1 11:14084 12:0 13:60 14:1
1 1:38 2:1 3:219446 4:12 5:5 6:6 7:8 8:3 9:2 10:1 11:0 12:0 13:54 14:4
1 1:21 2:1 3:110677 4:4 5:10 6:1 7:7 8:1 9:2 10:2 11:0 12:0 13:40 14:1
1 1:63 2:1 3:145985 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:34 2:2 3:382078 4:8 5:13 6:2 7:8 8:2 9:2 10:1 11:3103 12:0 13:50 14:1
2 1:42 2:6 3:170721 4:2 5:9 6:2 7:8 8:2 9:2 10:1 11:5178 12:0 13:50 14:1
1 1:33 2:1 3:269705 4:2 5:9 6:2 7:13 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:30 2:1 3:101135 4:8 5:13 6:1 7:8 8:3 9:2 10:2 11:0 12:0 13:50 14:1
1 1:39 2:1 3:118429 4:4 5:10 6:5 7:10 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:1 3:31208 4:9 5:14 6:1 7:8 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:33 2:1 3:281384 4:2 5:9 6:1 7:1 8:1 9:2 10:2 11:0 12:0 13:40 14:1
1 1:47 2:2 3:171807 4:2 5:9 6:5 7:7 8:3 9:2 10:2 11:0 12:0 13:40 14:1
2 1:41 2:6 3:445382 4:3 5:12 6:2 7:6 8:2 9:2 10:1 11:15024 12:0 13:60 14:1
1 1:19 2:1 3:105460 4:4 5:10 6:1 7:4 8:1 9:2 10:1 11:0 12:0 13:20 14:1
1 1:46 2:1 3:170338 4:2 5:9 6:4 7:12 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:43 2:1 3:102606 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:48 14:1
2 1:55 2:1 3:323887 4:4 5:10 6:2 7:8 8:2 9:2 10:1 11:15024 12:0 13:45 14:1
1 1:46 2:1 3:175622 4:11 5:11 6:2 7:9 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:30 2:1 3:229636 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:40 14:4
1 1:21 2:1 3:388946 4:4 5:10 6:4 7:13 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:46 2:1 3:269034 4:4 5:10 6:2 7:6 8:2 9:3 10:1 11:0 12:0 13:40 14:5
1 1:41 2:1 3:75012 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:69 2:6 3:174379 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:30 14:1
1 1:50 2:1 3:312477 4:2 5:9 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:20 2:1 3:72055 4:4 5:10 6:1 7:7 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:45 2:6 3:67001 4:4 5:10 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:23 2:1 3:213734 4:8 5:13 6:1 7:8 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:24 2:1 3:83141 4:4 5:10 6:4 7:4 8:3 9:2 10:1 11:0 12:1876 13:40 14:1
1 1:31 2:3 3:113752 4:4 5:10 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:43 2:1 3:170482 4:2 5:9 6:4 7:1 8:3 9:2 10:2 11:0 12:0 13:44 14:1
1 1:20 2:4 3:244689 4:1 5:7 6:1 7:4 8:1 9:2 10:2 11:0 12:0 13:10 14:1
2 1:55 2:1 3:160631 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:56 14:1
1 1:24 2:4 3:228724 4:4 5:10 6:1 7:14 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:59 2:1 3:292946 4:8 5:13 6:1 7:8 8:3 9:2 10:2 11:0 12:0 13:25 14:1
1 1:49 2:4 3:77443 4:7 5:4 6:1 7:4 8:3 9:1 10:1 11:0 12:0 13:20 14:1
2 1:33 2:1 3:176410 4:9 5:14 6:2 7:5 8:5 9:2 10:2 11:5178 12:0 13:10 14:1
1 1:59 2:4 3:98984 4:8 5:13 6:5 7:7 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:34 2:1 3:198751 4:9 5:14 6:1 7:4 8:3 9:4 10:1 11:0 12:0 13:40 14:1
1 1:20 2:1 3:479296 4:2 5:9 6:1 7:13 8:1 9:2 10:1 11:0 12:0 13:40 14:1
1 1:25 2:1 3:235218 4:8 5:13 6:1 7:8 8:1 9:2 10:2 11:0 12:0 13:40 14:1
1 1:49 2:1 3:164877 4:5 5:6 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:59 2:1 3:272087 4:2 5:9 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:20 2:1 3:169699 4:2 5:9 6:1 7:7 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:33 2:1 3:202191 4:4 5:10 6:1 7:7 8:4 9:1 10:2 11:0 12:0 13:35 14:1
1 1:22 2:1 3:212261 4:4 5:10 6:1 7:12 8:1 9:1 10:1 11:0 12:0 13:39 14:1
1 1:58 2:3 3:301568 4:12 5:5 6:3 7:4 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:52 2:2 3:155233 4:2 5:9 6:3 7:7 8:4 9:2 10:2 11:0 12:0 13:28 14:1
1 1:36 2:1 3:75826 4:5 5:6 6:4 7:1 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:41 2:2 3:201520 4:2 5:9 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:28 2:1 3:154236 4:2 5:9 6:1 7:12 8:1 9:2 10:1 11:2597 12:0 13:40 14:1
1 1:19 2:1 3:289227 4:4 5:10 6:1 7:13 8:1 9:1 10:1 11:0 12:0 13:16 14:1
1 1:18 2:1 3:217439 4:2 5:9 6:1 7:4 8:3 9:2 10:2 11:0 12:0 13:28 14:1
1 1:18 2:1 3:179020 4:2 5:9 6:1 7:1 8:1 9:2 10:2 11:0 12:0 13:48 14:1
1 1:28 2:1 3:149624 4:4 5:10 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:29 2:1 3:337266 4:11 5:11 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:40 2:1 3:103541 4:4 5:10 6:2 7:13 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:1 3:206721 4:2 5:9 6:1 7:13 8:4 9:2 10:1 11:0 12:0 13:40 14:1
1 1:46 2:1 3:96773 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:23 2:1 3:200967 4:1 5:7 6:1 7:4 8:3 9:2 10:2 11:0 12:0 13:24 14:1
1 1:44 2:1 3:180019 4:2 5:9 6:6 7:7 8:4 9:2 10:2 11:0 12:0 13:40 14:1
2 1:43 2:1 3:179866 4:8 5:13 6:5 7:10 8:4 9:2 10:2 11:0 12:0 13:40 14:1
1 1:31 2:2 3:198770 4:8 5:13 6:5 7:5 8:4 9:2 10:2 11:0 12:0 13:60 14:1
1 1:18 2:1 3:219256 4:4 5:10 6:1 7:10 8:1 9:2 10:2 11:0 12:0 13:25 14:1
1 1:19 2:1 3:248730 4:4 5:10 6:1 7:3 8:1 9:2 10:1 11:0 12:0 13:30 14:1
1 1:41 2:1 3:110732 4:4 5:10 6:5 7:9 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:41 2:1 3:181020 4:2 5:9 6:5 7:13 8:4 9:2 10:2 11:0 12:0 13:40 14:1
1 1:69 2:1 3:183791 4:2 5:9 6:5 7:7 8:3 9:2 10:2 11:0 12:0 13:25 14:1
2 1:48 2:4 3:42972 4:13 5:16 6:2 7:5 8:5 9:2 10:2 11:0 12:0 13:40 14:1
1 1:28 2:1 3:134813 4:2 5:9 6:1 7:5 8:1 9:2 10:1 11:0 12:0 13:40 14:1
2 1:27 2:3 3:115438 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:60 14:6
2 1:41 2:1 3:239296 4:9 5:14 6:2 7:5 8:2 9:2 10:1 11:0 12:2415 13:50 14:1
1 1:41 2:1 3:428420 4:4 5:10 6:2 7:7 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:24 2:1 3:247846 4:2 5:9 6:1 7:6 8:4 9:1 10:2 11:0 12:0 13:40 14:1
2 1:42 2:6 3:100793 4:13 5:16 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:41 14:1
1 1:57 2:1 3:244478 4:2 5:9 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:48 14:1
1 1:30 2:1 3:142921 4:3 5:12 6:1 7:5 8:3 9:2 10:2 11:0 12:0 13:40 14:1
2 1:36 2:1 3:182863 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:60 14:1
1 1:49 2:1 3:171128 4:7 5:4 6:2 7:1 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:33 2:1 3:145402 4:2 5:9 6:2 7:1 8:5 9:2 10:2 11:0 12:0 13:35 14:1
1 1:23 2:1 3:306309 4:5 5:6 6:2 7:2 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:46 2:1 3:83822 4:9 5:14 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:18 2:1 3:262118 4:4 5:10 6:1 7:7 8:1 9:5 10:2 11:0 12:0 13:22 14:7
2 1:40 2:1 3:155972 4:2 5:9 6:2 7:8 8:2 9:2 10:1 11:7688 12:0 13:55 14:1
2 1:43 2:6 3:214503 4:2 5:9 6:2 7:8 8:2 9:2 10:1 11:0 12:1887 13:45 14:1
1 1:34 2:1 3:159303 4:9 5:14 6:1 7:5 8:1 9:2 10:2 11:0 12:0 13:30 14:1
1 1:47 2:3 3:174995 4:2 5:9 6:3 7:8 8:3 9:2 10:2 11:0 12:0 13:30 14:1
1 1:44 2:1 3:26669 4:11 5:11 6:3 7:8 8:4 9:2 10:2 11:0 12:0 13:30 14:1
2 1:33 2:1 3:177727 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:55 2:1 3:124771 4:8 5:13 6:2 7:8 8:2 9:2 10:1 11:15024 12:0 13:50 14:1
1 1:19 2:1 3:456736 4:2 5:9 6:1 7:10 8:3 9:2 10:1 11:2907 12:0 13:30 14:1
1 1:28 2:1 3:216604 4:4 5:10 6:1 7:4 8:3 9:1 10:1 11:0 12:0 13:14 14:1
1 1:27 2:1 3:221561 4:1 5:7 6:2 7:4 8:5 9:1 10:2 11:0 12:0 13:32 14:1
1 1:50 2:1 3:114564 4:7 5:4 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:20 14:1
1 1:22 2:1 3:315476 4:1 5:7 6:1 7:6 8:4 9:2 10:1 11:0 12:0 13:40 14:1
2 1:40 2:5 3:67874 4:8 5:13 6:2 7:7 8:2 9:2 10:1 11:0 12:1887 13:45 14:1
1 1:25 2:1 3:126110 4:4 5:10 6:1 7:7 8:1 9:2 10:2 11:0 12:0 13:40 14:1
1 1:26 2:2 3:102264 4:2 5:9 6:1 7:6 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:22 2:1 3:537222 4:8 5:13 6:1 7:10 8:3 9:2 10:1 11:0 12:0 13:25 14:1
1 1:42 2:1 3:113732 4:4 5:10 6:1 7:13 8:4 9:1 10:2 11:0 12:625 13:40 14:1
1 1:38 2:6 3:93225 4:8 5:13 6:5 7:8 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:55 2:1 3:43064 4:1 5:7 6:2 7:4 8:2 9:2 10:1 11:0 12:0 13:30 14:1
1 1:32 2:1 3:136921 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:22 2:1 3:388885 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:45 14:1
1 1:29 2:1 3:142249 4:8 5:13 6:1 7:10 8:1 9:2 10:1 11:0 12:0 13:40 14:1
2 1:46 2:5 3:56841 4:9 5:14 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:45 14:1
2 1:31 2:1 3:156493 4:4 5:10 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:58 2:3 3:159021 4:13 5:16 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:16 14:1
1 1:42 2:1 3:190910 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:45 14:1
1 1:18 2:1 3:41879 4:2 5:9 6:1 7:13 8:4 9:2 10:1 11:0 12:0 13:25 14:1
1 1:58 2:2 3:137249 4:2 5:9 6:5 7:8 8:3 9:2 10:1 11:0 12:0 13:33 14:1
2 1:54 2:1 3:236157 4:2 5:9 6:2 7:5 8:2 9:2 10:1 11:0 12:1887 13:40 14:1
1 1:34 2:1 3:189759 4:9 5:14 6:1 7:5 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:26 2:1 3:239877 4:8 5:13 6:1 7:7 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:61 2:1 3:21175 4:14 5:8 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:60 14:1
1 1:48 2:2 3:67229 4:9 5:14 6:4 7:7 8:4 9:1 10:2 11:0 12:0 13:40 14:1
2 1:36 2:1 3:236391 4:4 5:10 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:45 14:1
1 1:24 2:1 3:325596 4:11 5:11 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:45 14:1
1 1:40 2:1 3:83411 4:4 5:10 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:37 14:1
2 1:33 2:6 3:154227 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:50 14:1
2 1:37 2:1 3:248010 4:4 5:10 6:2 7:1 8:2 9:2 10:1 11:0 12:1887 13:40 14:1
1 1:34 2:1 3:198613 4:9 5:14 6:1 7:8 8:1 9:2 10:1 11:4650 12:0 13:40 14:1
2 1:56 2:6 3:321529 4:4 5:10 6:2 7:8 8:2 9:2 10:1 11:15024 12:0 13:40 14:1
1 1:37 2:1 3:203079 4:8 5:13 6:3 7:8 8:3 9:2 10:2 11:0 12:0 13:55 14:1
1 1:44 2:1 3:284652 4:2 5:9 6:5 7:10 8:4 9:1 10:2 11:0 12:0 13:40 14:1
1 1:54 2:1 3:59840 4:2 5:9 6:5 7:13 8:3 9:2 10:1 11:0 12:0 13:45 14:1
1 1:23 2:1 3:52753 4:2 5:9 6:1 7:1 8:3 9:2 10:1 11:0 12:0 13:50 14:1
1 1:22 2:1 3:199266 4:2 5:9 6:1 7:4 8:3 9:2 10:2 11:0 12:0 13:45 14:1
2 1:33 2:1 3:196385 4:8 5:13 6:2 7:8 8:2 9:2 10:1 11:0 12:1977 13:40 14:1
2 1:39 2:1 3:163205 4:8 5:13 6:4 7:5 8:3 9:2 10:1 11:0 12:0 13:50 14:1
1 1:47 2:1 3:411047 4:4 5:10 6:5 7:7 8:3 9:1 10:2 11:0 12:0 13:37 14:1
1 1:26 2:1 3:209440 4:2 5:9 6:1 7:5 8:4 9:1 10:2 11:0 12:0 13:55 14:1
1 1:31 2:1 3:56964 4:4 5:10 6:5 7:8 8:4 9:2 10:2 11:0 12:0 13:40 14:1
1 1:44 2:1 3:299197 4:4 5:10 6:1 7:12 8:3 9:2 10:1 11:0 12:0 13:45 14:1
2 1:42 2:6 3:240628 4:6 5:15 6:2 7:5 8:5 9:2 10:2 11:0 12:0 13:50 14:1
1 1:19 2:1 3:355313 4:2 5:9 6:1 7:1 8:3 9:2 10:2 11:0 12:0 13:40 14:1
2 1:27 2:1 3:132267 4:2 5:9 6:2 7:13 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:51 2:2 3:174861 4:4 5:10 6:2 7:3 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:28 2:6 3:142443 4:8 5:13 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:57 2:1 3:26716 4:8 5:13 6:5 7:6 8:3 9:2 10:1 11:0 12:0 13:45 14:1
1 1:45 2:2 3:185588 4:8 5:13 6:5 7:5 8:4 9:2 10:2 11:0 12:0 13:40 14:1
2 1:50 2:1 3:175029 4:11 5:11 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:34 2:6 3:34848 4:8 5:13 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:54 14:1
1 1:45 2:1 3:411273 4:7 5:4 6:2 7:6 8:2 9:1 10:1 11:0 12:0 13:40 14:1
1 1:73 2:2 3:143437 4:2 5:9 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:20 14:1
2 1:34 2:1 3:357145 4:8 5:13 6:2 7:5 8:5 9:2 10:2 11:0 12:0 13:50 14:1
2 1:31 2:1 3:236861 4:4 5:10 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:55 14:1
1 1:19 2:1 3:53355 4:1 5:7 6:1 7:10 8:3 9:2 10:1 11:0 12:0 13:12 14:1
1 1:25 2:1 3:29106 4:4 5:10 6:1 7:4 8:1 9:2 10:2 11:0 12:0 13:50 14:1
1 1:38 2:4 3:213274 4:11 5:11 6:5 7:6 8:4 9:2 10:2 11:6497 12:0 13:40 14:1
1 1:39 2:1 3:22463 4:8 5:13 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:23 2:1 3:180497 4:8 5:13 6:1 7:9 8:1 9:1 10:2 11:0 12:0 13:32 14:1
1 1:49 2:1 3:37306 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:33 2:4 3:137814 4:2 5:9 6:1 7:4 8:3 9:2 10:1 11:0 12:0 13:32 14:1
1 1:21 2:1 3:447488 4:10 5:3 6:1 7:1 8:6 9:2 10:1 11:0 12:0 13:38 14:4
1 1:31 2:1 3:220915 4:11 5:11 6:4 7:6 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:23 2:1 3:42251 4:8 5:13 6:1 7:8 8:3 9:2 10:2 11:0 12:0 13:45 14:1
1 1:34 2:1 3:162312 4:8 5:13 6:2 7:7 8:2 9:5 10:1 11:0 12:0 13:40 14:8
1 1:25 2:1 3:77698 4:2 5:9 6:1 7:1 8:3 9:5 10:2 11:0 12:0 13:40 14:8
1 1:39 2:1 3:282951 4:2 5:9 6:1 7:6 8:4 9:2 10:1 11:0 12:0 13:40 14:1
2 1:52 2:6 3:311259 4:2 5:9 6:2 7:10 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:63 2:2 3:65479 4:12 5:5 6:2 7:12 8:2 9:2 10:1 11:7688 12:0 13:40 14:1
1 1:41 2:1 3:277256 4:4 5:10 6:2 7:6 8:2 9:2 10:1 11:0 12:0 13:40 14:1
2 1:46 2:1 3:312088 4:8 5:13 6:2 7:5 8:2 9:2 10:1 11:15024 12:0 13:38 14:1
1 1:53 2:2 3:169719 4:2 5:9 6:2 7:8 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:18 2:1 3:96869 4:14 5:8 6:1 7:11 8:1 9:2 10:1 11:0 12:0 13:40 14:1
1 1:38 2:1 3:237943 4:6 5:15 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:50 14:1
1 1:55 2:1 3:119751 4:9 5:14 6:1 7:8 8:4 9:5 10:2 11:0 12:0 13:50 14:9
2 1:34 2:1 3:236861 4:2 5:9 6:2 7:9 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:80 2:3 3:201092 4:2 5:9 6:2 7:4 8:2 9:2 10:1 11:0 12:0 13:30 14:1
1 1:34 2:1 3:147215 4:11 5:11 6:5 7:9 8:4 9:2 10:2 11:0 12:0 13:60 14:1
1 1:52 2:1 3:152373 4:4 5:10 6:2 7:9 8:2 9:2 10:1 11:5013 12:0 13:40 14:1
1 1:42 2:1 3:227968 4:2 5:9 6:1 7:4 8:4 9:1 10:2 11:0 12:0 13:28 14:10
1 1:26 2:1 3:362617 4:4 5:10 6:1 7:10 8:3 9:2 10:2 11:0 12:0 13:40 14:1
1 1:31 2:1 3:103435 4:2 5:9 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:25 2:2 3:281412 4:2 5:9 6:1 7:4 8:1 9:2 10:2 11:0 12:0 13:35 14:1
1 1:55 2:3 3:105239 4:2 5:9 6:2 7:6 8:2 9:2 10:1 11:0 12:2057 13:60 14:1
1 1:19 2:1 3:230165 4:4 5:10 6:1 7:4 8:1 9:2 10:2 11:0 12:0 13:12 14:1
1 1:62 2:3 3:177493 4:4 5:10 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:32 14:1
1 1:22 2:4 3:104443 4:4 5:10 6:1 7:7 8:1 9:2 10:2 11:0 12:0 13:20 14:1
1 1:35 2:1 3:143385 4:2 5:9 6:2 7:13 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:28 2:1 3:107189 4:2 5:9 6:2 7:10 8:1 9:2 10:2 11:0 12:0 13:40 14:1
2 1:47 2:1 3:212944 4:2 5:9 6:2 7:12 8:2 9:2 10:1 11:0 12:0 13:70 14:1
1 1:44 2:5 3:138634 4:2 5:9 6:2 7:1 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:21 2:1 3:99970 4:4 5:10 6:1 7:10 8:1 9:2 10:1 11:0 12:0 13:15 14:1
1 1:35 2:1 3:203717 4:11 5:11 6:1 7:6 8:3 9:2 10:1 11:0 12:0 13:50 14:1
2 1:24 2:1 3:313956 4:8 5:13 6:2 7:5 8:2 9:2 10:1 11:0 12:0 13:40 14:1
1 1:28 2:1 3:193868 4:8 5:13 6:1 7:9 8:1 9:2 10:1 11:0 12:0 13:50 14:1
1 1:21 2:1 3:250939 4:4 5:10 6:1 7:1 8:6 9:2 10:1 11:0 12:0 13:35 14:1
1 1:62 2:4 3:57629 4:4 5:10 6:5 7:9 8:3 9:1 10:1 11:4650 12:0 13:40 14:1
1 1:39 2:1 3:281768 4:2 5:9 6:1 7:4 8:3 9:1 10:2 11:0 12:0 13:40 14:1
1 1:30 2:5 3:260782 4:2 5:9 6:1 7:4 8:3 9:2 10:1 11:0 12:0 13:40 14:1
1 1:72 2:3 3:243769 4:6 5:15 6:1 7:5 8:3 9:2 10:1 11:0 12:1429 13:20 14:1
1 1:50 2:1 3:109937 4:4 5:10 6:2 7:8 8:5 9:2 10:2 11:0 12:0 13:50 14:1









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一种常用的编程语言,广泛应用于数据科学和机器学习领域。其中机器学习库sklearn提供了许多常用的算法和工具,方便用户进行数据分析和模型训练。 其中之一是k近邻(k-nearest neighbors,KNN分类算法KNN是一种基于实例的学习方法,它通过在特征空间中寻找最近的k个邻居来预测新的样本标签。在Python中使用sklearn库实现KNN分类算法非常简单。 首先,需要导入相关的库和模块。常用的库包括numpy(处理数值计算)、sklearn(机器学习库)和sklearn.neighbors(KNN算法模块)。 接下来,需要准备样本数据集。这包括特征矩阵和对应的标签。可以使用numpy数组或pandas数据框来存储数据。 然后,需要对数据进行预处理。这包括划分数据集为训练集和测试集,并进行特征缩放和标准化等操作。可以使用sklearn.preprocessing模块中的函数来进行这些操作。 接下来,需要创建一个KNeighborsClassifier对象,并设置相关参数。其中,最重要的是k值,即选择最近的k个邻居来进行预测。 然后,使用fit()方法将训练集的特征矩阵和标签传递给KNeighborsClassifier对象,以进行模型训练。 最后,可以使用predict()方法将测试集的特征矩阵传递给KNeighborsClassifier对象,并得到对应的预测结果。 除了这些基本步骤之外,还可以通过交叉验证和网格搜索等方法来优化模型的参数和评估模型的性能。sklearn库提供了相应的函数和方法来实现这些操作。 总之,使用Python中的sklearn库可以很方便地实现KNN分类算法。只需要按照上述步骤导入相关库、准备数据、预处理数据、创建模型、训练模型和预测结果即可。这是一个简便且高效的方法,帮助用户实现KNN分类算法来解决分类问题。 ### 回答2: K最近邻(K-nearest neighbors,简称KNN)是一种基本的分类算法,在Python中可以使用scikit-learn库(sklearn)来实现。以下是使用sklearn实现KNN分类算法的步骤: 1. 导入需要的库和模块:首先需要导入sklearn库中的KNeighborsClassifier模块,以及其他辅助模块,如numpy和pandas。 2. 准备数据集:将数据集划分为特征集(X)和目标标签(y)。特征集包含用于分类的属性,而目标标签则包含每个样本的分类结果。 3. 对数据集进行预处理:根据需要进行数据预处理,如数据清洗、缺失值处理或特征标准化等。 4. 划分数据集:将数据集划分为训练集和测试集,一般会使用train_test_split函数将数据按照一定的比例划分。 5. 创建KNN模型:使用KNeighborsClassifier创建一个KNN分类模型,并可设置K值和距离度量方式等参数。 6. 模型训练:使用fit函数对训练集进行训练,让模型学习训练集的模式。 7. 模型预测:使用predict函数对测试集进行预测,得到分类结果。 8. 模型评估:对预测结果进行评估,可使用accuracy_score等函数计算准确率、召回率等指标。 9. 调参优化:通过调整K值或距离度量方式等参数,可以对模型进行优化,提高分类性能。 10. 结果分析和应用:根据模型预测的结果进行分析,可以根据需要进行后续的实际应用。 总之,使用sklearn实现KNN分类算法可以简化KNN模型的搭建和使用过程,使得开发者能够快速实现KNN算法并进行分类任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值