#include using namespace std; // #define int long long typedef long long ll; typedef pair pii; #define ITR(v,c) for(auto v=begin(c);v!=end(c);v++) #define FOR(v,a,n) for(int v=a;v<(int)(n);v++) #define FORE(x,arr) for(auto &x:arr) #define REP(v,n) FOR(v,0,n) #define RREP(v,n) for(int v=(int)(n);v>=0;v--) #define ALL(c) begin(c),end(c) const int DX[4]={0,1,0,-1}, DY[4]={-1,0,1,0}; const int INF = 1e9; const ll INFLL = 1e18; templateostream&operator<<(ostream &os,const pair &p){ os<<"("<ostream&operator<<(ostream &os,const vector &v){ ITR(i,v)os<<*i<<(i==end(v)-1?"":"\n");return os;} //------------------------------------------------------------------------------ signed main() { double a,b; cin>>a>>b; if(a==b) { printf("%f\n",sqrt(2)*a); } else printf("%f\n",min(min(sqrt(a*a+b*b),sqrt(a*a-b*b)),sqrt(b*b-a*a))); return 0; }