#include #include using namespace std; int main() { int n, q, tmp; cin >> n >> q; vector indexes(n, 0); vector > successor(n); for (int i = 1; i < n; ++i) { cin >> tmp; successor[tmp].push_back(i); } for (int i = 0; i < q; ++i) { int gate = 0; while (!successor[gate].empty()) { // not at list tmp = successor[gate][indexes[gate]]; indexes[gate] = (indexes[gate]+1) % (int)successor[gate].size(); gate = tmp; } cout << gate << endl; } return 0; }