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))