#include <cstdio>
#include <algorithm>
#include <math.h>
struct E{ int x, y, w; } s[10001];
bool cmp(E a, E b) { return sqrt(a.x*a.x+a.y*a.y) < sqrt(b.x*b.x+b.y*b.y); }
int main()
{
    int n, p, x, y, w;
    double r;
    freopen(".20.in", "r", stdin);
    freopen(".20.out", "w", stdout);
    scanf("%d%d",&n,&p);
    for(int i = 0 ; i < n ; i++ )
        scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].w);
    std::sort(s, s+n , cmp);
    for(int i = 0 ; i < n ; i++ ){
        p += s[i].w;
        if( p >= 1000000 ){
            r = sqrt(s[i].x*s[i].x+s[i].y*s[i].y);
            break;
        }
    }
    if( p < 1000000 ) printf("-1");
    else printf("%.3lf", r);
}
