@Override
	public void run() {
		Map<Integer, Integer> triangles = new HashMap<>(1000);
		for(int i = 3; i <= 1000; i++) {
			triangles.put(new Integer(i), new Integer(0));
		}
		for(int a = 1; a < 400; a++) {
			for(int b = 1; b < 400; b++) {
				for(int c = 1; c < 400; c++) {
					if(a + b + c > 1000)
						break;
					if(Math.pow(a, 2) + Math.pow(b, 2) == Math.pow(c, 2)) {
						Integer key = new Integer(a + b + c);
						Integer numberFound = triangles.get(key);
						triangles.put(key, new Integer(numberFound.intValue() + 1));
					}
				}
			}
		}
		Set<Entry<Integer, Integer>> entrySet = triangles.entrySet();
		int maxTriangles = 0;
		int triangle = 0;
		for(Entry<Integer, Integer> entry : entrySet) {
			if(entry.getValue().intValue() > maxTriangles) {
				maxTriangles = entry.getValue().intValue();
				triangle = entry.getKey().intValue();
				System.out.println(triangle + ": " + maxTriangles);
			}

		}
		setAnswer(String.valueOf(triangle));
	}