#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const ll N=1e5+5;
ll n,S;
struct Y{
double r;
ll v;
};
Y a[N];
bool check(double x){
ll sum=0;
for(ll i=1;i<=n;i++){
if(x<a[i].r)break;
sum+=a[i].v;
//cout<<a[i].r<<' '<<sum<<'\n';
}
//cout<<x<<' '<<sum<<'\n';
return S<=sum;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>S;
double tm=0;
for(ll i=1;i<=n;i++){
ll x,y;
cin>>x>>y>>a[i].v;
double t=sqrt(x*x+y*y);
tm=max(tm,t);
//cout<<t<<'\n';
a[i].r=t;
}
sort(a+1,a+n+1,[](Y a,Y b){
if(a.r!=b.r)return a.r<b.r;
return a.v>b.v;
});
double l=0,r=tm+1;
for(ll i=1;i<=50;i++){
double m=(l+r)/2;
if(check(m)){
r=m;
}else l=m;
//printf("%.9lf\n",r);
}
if(r>tm)cout<<-1;
else printf("%.9lf",r);
return 0;
}