#include #include #include #include #include #include #include #include #include #include using namespace std; int main(){ int n; cin >> n; vector v(n); for(int i=0; i> v[i]; } vector dp(n); vector before(n, -1); dp[0] = v[0]; if(n>1) dp[1] = v[1]; for(int i=2; i path; path.push_back(pos); while(before[pos] != -1){ pos = before[pos]; path.push_back(pos); } cout << ans << endl; reverse(path.begin(), path.end()); for(int i=0; i