#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;
}