#include <bits/stdc++.h>
using namespace std;
long long n, r1, r2, i;
vector<long long> pt, g[50001], vis;
void dfs(long long u) {
  long long i, v;
  vis[u] = 1;
  for (i = 0; i < g[u].size(); i++) {
    v = g[u][i];
    if (!vis[v]) {
      pt[v] = u;
      dfs(v);
    }
  }
}
int main() {
  cin >> n >> r1 >> r2;
  pt.assign(n + 1, -1);
  vis.assign(n + 1, 0);
  for (i = 1; i <= n; i++) {
    if (i == r1) continue;
    long long u;
    cin >> u;
    g[u].push_back(i);
    g[i].push_back(u);
  }
  dfs(r2);
  for (i = 1; i <= n; i++) {
    if (i == r2) continue;
    cout << pt[i] << " ";
  }
  return 0;
}
