#include #include #include using namespace std; using ll = long long; string convert_int_time(int x) { int h = x / 12 + 6; int m = (x % 12) * 5; string res; res += h / 10 + '0'; res += h % 10 + '0'; res += ':'; res += m / 10 + '0'; res += m % 10 + '0'; return res; } int main() { int N, R; cin >> N >> R; vector X(N), Y(N), W(N); for (int i = 0; i < N; i++) { cin >> X[i] >> Y[i] >> W[i]; } vector> far(N, vector(N)); vector> d(N, vector(N)); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { double z = hypot(X[i] - X[j], Y[i] - Y[j]); far[i][j] = (z >= 250.0); d[i][j] = (i != j ? ceil(z * 0.015 + 8) : 0); } } pair hub_opt = {7LL << 58, -1}; for (int i = 0; i < N; i++) { ll total = 0; for (int j = 0; j < N; j++) { for (int k = j + 1; k < N; k++) { if (far[j][k]) { total += (ll)(d[j][i] + d[k][i]) * W[j] * W[k]; } } } hub_opt = min(hub_opt, {total, i}); } int hub = hub_opt.second; const int K = 25; for (int i = 0; i < K; i++) { int p = i + (int)(i >= hub); int c = 180 / d[hub][p]; cout << c << endl; for (int j = 0; j < c; j++) { int a = (j % 2 == 0 ? p : hub); int s = j * d[hub][p]; int b = (hub + p) - a; int t = (j + 1) * d[hub][p]; cout << a + 1 << ' ' << convert_int_time(s) << ' ' << b + 1 << ' ' << convert_int_time(t) << endl; } } return 0; }