#include #include #define FOR( i, l, r) for(int i = (l) ; i < (r); i++) #define FOR1(i, l, r) for(int i = (l) ; i <= (r); i++) #define REV( i, l, r) for(int i = (r) - 1; i >= (l); i--) #define REV1(i, l, r) for(int i = (r) ; i >= (l); i--) #define INC( i, n) FOR( i, 0, n) #define INC1(i, n) FOR1(i, 1, n) #define DEC( i, n) REV( i, 0, n) #define DEC1(i, n) REV1(i, 1, n) typedef long long signed int LL; typedef long long unsigned int LU; // ---- ---- template void swap(T& x, T& y) { T t = x; x = y; y = t; return; } int main() { int a, b; scanf("%d%d", &a, &b); if(a != b) { if(a < b) { swap(a, b); } printf("%f\n", std::sqrt(a * a - b * b)); } else { printf("%f\n", a * std::sqrt(2)); } return 0; }