#include <iostream>
#include <iomanip>
#include <algorithm>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
// 将三边按从小到大排序
int sides[3] = {a, b, c};
sort(sides, sides + 3);
a = sides[0];
b = sides[1];
c = sides[2];
// 判断是否能构成直角三角形
if (a * a + b * b == c * c) {
double area = 0.5 * a * b;
cout << fixed << setprecision(1) << area << endl;
} else {
cout << "No" << endl;
}
return 0;
}
/**************************************************************
Problem: 1047
User: linmiaoling
Language: C++
Result: Accepted
Time:12 ms
Memory:2076 kb
****************************************************************/