#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
#include <cstring>
#include <numeric>
#include <algorithm>
#include <functional>
#include <array>
#include <map>
#include <queue>
#include <limits.h>
#include <set>
#include <stack>
#define REP(i,n) for(int i = 0; n > i; i++)
#define MOD 1000000007
using namespace std;
typedef vector<int> Ivec;
typedef pair<int, int> pii;
typedef long long int ll;

int main() {
	double a, b;

	scanf("%lf %lf", &a, &b);
	int t = min(a, b);
	a = max(a, b);
	b = t;
	if (a == b) printf("%lf\n", sqrt(a*a+b*b));
	else printf("%.10lf\n", sqrt((a*a-b*b)));

	return 0;
}