/*
초속 v미터
이동 시에는 m분동안 생존 가능
이동가능한 거리 = 60.0*v*m
dfs 또는 bfs로 이동가능한 거리만 탐색
v=1, m=1이면 1초에 1미터 이동, 1분엔 60미터 이동
sqrt를 쓰지 않을 것이므로 제곱된 값으로 계산
*/
#include <iostream>
#include <vector>
#include <queue>
#include <sstream>
#include <string>
using namespace std;
#define SIZE 1002
int N = 0;
double range = 0;
double arr[SIZE][2];
vector<pair<int, int> > graph[SIZE];
int bfs() {
int count[SIZE];
queue<pair<int, int> > q;
for (int i = 0; i < N; i++) {
count[i] = -1;
}
q.emplace(0, 0);
while (!q.empty()) {
int from = q.front().first;
int c = q.front().second;
q.pop();
if (count[from] <= c && count[from] != -1) {
continue;
}
count[from] = c;
if (from == 1) {
continue;
}
for (int i = 0; i < graph[from].size(); i++) {
int to = graph[from][i].first;
int dist = graph[from][i].second;
if (dist <= range) {
cout << from << ' ' << to << ':' << dist << endl;
q.emplace(to, c + 1);
}
}
}
return count[1];
}
int main() {
double V, M;
cin >> V >> M;
range = V * M * 60.0;
range *= range;
string line;
while (getline(cin, line) && !line.empty()) {
istringstream output(line);
output >> arr[N][0] >> arr[N][1];
// 벙커 간 거리
for (int to = 0; to < N; to++) {
double dx = arr[N][0] - arr[to][0];
double dy = arr[N][1] - arr[to][1];
double d = dx * dx + dy * dy;
graph[N].emplace_back(to, d);
graph[to].emplace_back(N, d);
}
N++;
}
int n = bfs();
if (n < 0) {
cout << "No.";
} else {
cout << "Yes, visiting " << n << " other holes.";
}
}
/*
1.416 1
0 0
180 180
60 0
120 0
180 60
180 0
180 120
*/
LyoK7LSI7IaNIHbrr7jthLAK7J2064+ZIOyLnOyXkOuKlCBt67aE64+Z7JWIIOyDneyhtCDqsIDriqUK7J2064+Z6rCA64ql7ZWcIOqxsOumrCA9IDYwLjAqdiptCmRmcyDrmJDripQgYmZz66GcIOydtOuPmeqwgOuKpe2VnCDqsbDrpqzrp4wg7YOQ7IOJCnY9MSwgbT0x7J2066m0IDHstIjsl5AgMeuvuO2EsCDsnbTrj5ksIDHrtoTsl5QgNjDrr7jthLAg7J2064+ZCnNxcnTrpbwg7JOw7KeAIOyViuydhCDqsoPsnbTrr4DroZwg7KCc6rOx65CcIOqwkuycvOuhnCDqs4TsgrAKKi8KCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8c3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgU0laRSAxMDAyCmludCBOID0gMDsKZG91YmxlIHJhbmdlID0gMDsKZG91YmxlIGFycltTSVpFXVsyXTsKdmVjdG9yPHBhaXI8aW50LCBpbnQ+ID4gZ3JhcGhbU0laRV07CgppbnQgYmZzKCkgewogICAgaW50IGNvdW50W1NJWkVdOwogICAgcXVldWU8cGFpcjxpbnQsIGludD4gPiBxOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBjb3VudFtpXSA9IC0xOwogICAgfQoKICAgIHEuZW1wbGFjZSgwLCAwKTsKICAgIHdoaWxlICghcS5lbXB0eSgpKSB7CiAgICAgICAgaW50IGZyb20gPSBxLmZyb250KCkuZmlyc3Q7CiAgICAgICAgaW50IGMgPSBxLmZyb250KCkuc2Vjb25kOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgaWYgKGNvdW50W2Zyb21dIDw9IGMgJiYgY291bnRbZnJvbV0gIT0gLTEpIHsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGNvdW50W2Zyb21dID0gYzsKICAgICAgICBpZiAoZnJvbSA9PSAxKSB7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGdyYXBoW2Zyb21dLnNpemUoKTsgaSsrKSB7CiAgICAgICAgICAgIGludCB0byA9IGdyYXBoW2Zyb21dW2ldLmZpcnN0OwogICAgICAgICAgICBpbnQgZGlzdCA9IGdyYXBoW2Zyb21dW2ldLnNlY29uZDsKICAgICAgICAgICAgaWYgKGRpc3QgPD0gcmFuZ2UpIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgZnJvbSA8PCAnICcgPDwgdG8gPDwgJzonIDw8IGRpc3QgPDwgZW5kbDsKCiAgICAgICAgICAgICAgICBxLmVtcGxhY2UodG8sIGMgKyAxKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBjb3VudFsxXTsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgViwgTTsKICAgIGNpbiA+PiBWID4+IE07CiAgICByYW5nZSA9IFYgKiBNICogNjAuMDsKICAgIHJhbmdlICo9IHJhbmdlOwoKICAgIHN0cmluZyBsaW5lOwogICAgd2hpbGUgKGdldGxpbmUoY2luLCBsaW5lKSAmJiAhbGluZS5lbXB0eSgpKSB7CiAgICAgICAgaXN0cmluZ3N0cmVhbSBvdXRwdXQobGluZSk7CiAgICAgICAgb3V0cHV0ID4+IGFycltOXVswXSA+PiBhcnJbTl1bMV07CiAgICAgICAgLy8g67KZ7LukIOqwhCDqsbDrpqwKICAgICAgICBmb3IgKGludCB0byA9IDA7IHRvIDwgTjsgdG8rKykgewogICAgICAgICAgICBkb3VibGUgZHggPSBhcnJbTl1bMF0gLSBhcnJbdG9dWzBdOwogICAgICAgICAgICBkb3VibGUgZHkgPSBhcnJbTl1bMV0gLSBhcnJbdG9dWzFdOwogICAgICAgICAgICBkb3VibGUgZCA9IGR4ICogZHggKyBkeSAqIGR5OwogICAgICAgICAgICBncmFwaFtOXS5lbXBsYWNlX2JhY2sodG8sIGQpOwogICAgICAgICAgICBncmFwaFt0b10uZW1wbGFjZV9iYWNrKE4sIGQpOwogICAgICAgIH0KICAgICAgICBOKys7CiAgICB9CgogICAgaW50IG4gPSBiZnMoKTsKICAgIGlmIChuIDwgMCkgewogICAgICAgIGNvdXQgPDwgIk5vLiI7CiAgICB9IGVsc2UgewogICAgICAgIGNvdXQgPDwgIlllcywgdmlzaXRpbmcgIiA8PCBuIDw8ICIgb3RoZXIgaG9sZXMuIjsKICAgIH0KfQoKLyoKMS40MTYgMQowIDAKMTgwIDE4MAo2MCAwCjEyMCAwCjE4MCA2MAoxODAgMAoxODAgMTIwCiAqLwo=