// Una gira para muchos lugares: lee los lugares y responde con el orden de la entrada, sin medir
// nada. Casi nunca cumple lo que se pide. Reemplacen el cálculo.
#include <cstddef>
#include <iostream>
#include <string>
#include <vector>

int main() {
    int n = 0;
    std::cin >> n;
    std::vector<double> latitude(static_cast<std::size_t>(n));
    std::vector<double> longitude(static_cast<std::size_t>(n));
    std::vector<std::string> name(static_cast<std::size_t>(n));
    for (std::size_t i = 0; i < name.size(); i++) {
        std::cin >> latitude[i] >> longitude[i];
        std::getline(std::cin, name[i]);  // el nombre puede tener espacios
    }

    // Por hacer: calcular las distancias y armar un recorrido que cumpla las dos condiciones.
    std::cout << 0 << '\n';
    for (int v = 0; v < n; v++) std::cout << v << (v + 1 == n ? "" : " ");
    std::cout << '\n';
}
