#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
const double EPS=1e-4;
int x[N],y[N];
int n,lim;
bool check(double mid){
double last=0;
for(int i=1;i<=n;i++){
double x1=x[i]-sqrt(mid*mid-y[i]*y[i]);
double x2=x[i]+sqrt(mid*mid-y[i]*y[i]);
if(x1<= last && x2>=last) last=x2;
}
return last<lim;
}
int main(){
cin>>n>>lim;
for(int i=1;i<=n;i++){
scanf("%d%d",&x[i],&y[i]);
}
double l=0,r=2e9;
while(r-l>EPS){
double mid=l+(r-l)/2;
if(check(mid)){
l=mid;
}else{
r=mid;
}
}
cout<<fixed<<setprecision(4)<<r<<"\n";
return 0;
}