AOJ 0003 Is it a Right Triangle?

lvalue required as left operand of assignment、とかいう意味不明なエラーに悩ませられて結局==を=と書いてただけのポカミスだったと気付いて、結局8'39"だった。

#include <cstdio>

int main(){
	int N;
	scanf("%d", &N);
	for(int i = 0; i < N; i++){
		int a, b, c;
		scanf("%d %d %d\n", &a, &b, &c);
		puts(((a *a + b*b == c*c) || (a*a + c*c == b*b) || (b*b + c*c == a*a))?"YES":"NO");
	}
	return 0;
}