Problem:
プラスティック板

機械に辺・対角線の長さのデータを入力し、プラスティック板の型抜きをしている工場があります。この工場では、サイズは様々ですが、平行四辺形の型のみを切り出しています。あなたは、切り出される平行四辺形のうち、長方形とひし形の製造個数を数えるように上司から命じられました。

「機械に入力するデータ」を読み込んで、長方形とひし形の製造個数を出力するプログラムを作成してください。

Input

入力は以下の形式で与えられます。

a1,b1,c1
a2,b2,c2
:

機械に入力するデータが複数行に与えられます。i 行目に i 番目の平行四辺形の隣り合う２辺の長さを表す整数 ai, bi と対角線の長さを表す整数 ci がカンマ区切りで与えられます (1 ≤ ai, bi, ci ≤ 1000, ai + bi > ci)。データの数は 100 件を超えません。

Output

１行目に長方形の製造個数、２行目ひし形の製造個数を出力します。

Sample Input

3,4,5
5,5,8
4,4,4
5,4,3

Output for the Sample Input

1
2

Solution in JAVA (judge verdict: Wrong Answer)


import java.util.NoSuchElementException;
import java.util.Scanner;

enum Figure{
	Rectangularoblong,
	Rhomboid,
	Else
}

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int numRhomboid = 0;
		int numRectangularoblong = 0;
		
		try{
			while(true){
				String str = sc.nextLine();
				String[] input = str.split(",");
				if(isFigure(Figure.Rectangularoblong, getType(Integer.valueOf(input[0]), Integer.valueOf(input[1]), Integer.valueOf(input[2])))){
					numRectangularoblong++;
				}
				else if(isFigure(Figure.Rhomboid, getType(Integer.valueOf(input[0]), Integer.valueOf(input[1]), Integer.valueOf(input[2])))){
					numRhomboid++;
				}
			}
		}catch(NoSuchElementException e){
			//何もしない
		}
		
		System.out.println(numRhomboid);
		System.out.println(numRectangularoblong);
	}
	
	public static Figure getType(int w, int h, int diagonal){
		double tmp = w * w + h * h;
		if(diagonal * diagonal == tmp){
			return Figure.Rectangularoblong;
		}
		if(diagonal * diagonal > tmp){
			return Figure.Rhomboid;
		}
		return Figure.Else;
	}
	
	private static boolean isFigure(Figure type, Figure figure){
		if(type == figure){
			return true;
		}
		else{
			return false;
		}
	}
}