private Vertex[] parseData(String fileName) throws IOException {
		BufferedReader read = new BufferedReader(new FileReader(fileName));
		ArrayList<Vertex> vertices = new ArrayList<>();
		String line = read.readLine();
		lines += 1;
		Vertex[] lastLine = new Vertex[1];
		while (true) {
			String[] parts = line.split(" ");
			int[] data = parseArray(parts);
			String line2 = read.readLine();
			if (line2 == null) {
				break;
			} else {
				lines +=1;
				line = line2;
				int[] data2 = parseArray(line2.split(" "));
				Vertex[] nextLastLine = new Vertex[data2.length];
				for (int i = 0; i < data.length; i++) {
					Vertex<Integer> v = null;
					if (lastLine[i] == null) {
						v = new Vertex<>(data[i]);
						vertices.add(v);
						lastLine[i] = v;
					} else {
						v = lastLine[i];
					}
					Vertex<Integer> v1;
					if (nextLastLine[i] != null) {
						v1 = nextLastLine[i];
					} else {
						v1 = new Vertex<>(data2[i]);
						nextLastLine[i] = v1;
						vertices.add(v1);
					}
					Vertex<Integer> v2;
					if (nextLastLine[i + 1] != null) {
						v2 = nextLastLine[i + 1];
					} else {
						v2 = new Vertex<>(data2[i + 1]);
						nextLastLine[i + 1] = v2;
						vertices.add(v2);
					}
					Edge e1 = new Edge(v, v1);
					Edge e2 = new Edge(v, v2);
					v.addEdge(e1);
					v.addEdge(e2);
				}
				lastLine = nextLastLine;
			}
		}
		read.close();
		return vertices.toArray(new Vertex[vertices.size()]);
	}