from math import sqrt
import bisect

n, S = map(int, input().split())

points = [list(map(int, input().split())) for _ in range(n)]

# 按到原点的距离排序
points.sort(key=lambda x: x[0]**2 + x[1]**2)

# 计算前缀和
values = [points[0][2]]
for i in range(1, n):
    values.append(values[-1] + points[i][2])

# 总和小于s无解
if values[-1] < S:
    print(-1)
else:
    # 使用二分查找
    idx = bisect.bisect_left(values, S)
    x, y = points[idx][0], points[idx][1]
    print(sqrt(x**2 + y**2))