#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
****************************************************************/