def main(): import sys input = sys.stdin.read data = input().split() idx = 0 n = int(data[idx]) idx += 1 H = int(data[idx]) idx += 1 points = [] for _ in range(n): x = int(data[idx]) y = int(data[idx + 1]) points.append((x, y)) idx += 2 a1 = 0.0 a2 = 0.0 epsilon = 1e-8 max_iter = 10000 for _ in range(max_iter): Sf = [] Sg = [] for x, y in points: err_f = (y - a1 * x - H) ** 2 err_g = (y - a2 * x) ** 2 if err_f <= err_g: Sf.append((x, y)) else: Sg.append((x, y)) sum_xy_f = 0.0 sum_x2_f = 0.0 for x, y in Sf: sum_xy_f += x * (y - H) sum_x2_f += x * x if sum_x2_f != 0: a1_new = sum_xy_f / sum_x2_f else: a1_new = a1 sum_xy_g = 0.0 sum_x2_g = 0.0 for x, y in Sg: sum_xy_g += x * y sum_x2_g += x * x if sum_x2_g != 0: a2_new = sum_xy_g / sum_x2_g else: a2_new = a2 if abs(a1_new - a1) < epsilon and abs(a2_new - a2) < epsilon: a1 = a1_new a2 = a2_new break a1 = a1_new a2 = a2_new total = 0.0 for x, y in points: err_f = (y - a1 * x - H) ** 2 err_g = (y - a2 * x) ** 2 total += min(err_f, err_g) print("{0:.15f}".format(total)) if __name__ == "__main__": main()