#include <bits/stdc++.h>
using namespace std;
int v[50000 + 100];
int ans[50000 + 100];
vector<int> m[50000 + 100];
void dfs(int s) {
  v[s] = 1;
  for (int i = 0; i < m[s].size(); i++) {
    if (v[m[s][i]] == false) {
      ans[m[s][i]] = s;
      dfs(m[s][i]);
    }
  }
}
int main() {
  int n, old, neww;
  cin >> n >> old >> neww;
  for (int i = 1; i <= n; i++) {
    if (i == old) continue;
    int t;
    cin >> t;
    m[i].push_back(t);
    m[t].push_back(i);
  }
  dfs(neww);
  for (int i = 1; i <= n; i++) {
    if (i == neww) continue;
    cout << ans[i];
    if (i != n) cout << " ";
  }
  return 0;
}
