#include <bits/stdc++.h>
using namespace std;
int n, r1, r2, x, y, i;
vector<int> V[50001];
int S[50001], P[50001];
queue<int> Q;
int main() {
  scanf("%d%d%d", &n, &r1, &r2);
  r1--;
  r2--;
  for (i = 0; i < n; i++)
    if (i != r1) {
      scanf("%d", &x);
      x--;
      V[i].push_back(x);
      S[i]++;
      V[x].push_back(i);
      S[x]++;
    }
  Q.push(r2);
  memset(P, -1, sizeof P);
  P[r2] = r2;
  while (!Q.empty()) {
    x = Q.front();
    Q.pop();
    for (i = 0; i < S[x]; i++) {
      y = V[x][i];
      if (P[y] == -1) {
        P[y] = x;
        Q.push(y);
      }
    }
  }
  for (i = 0; i < n; i++)
    if (i != r2) printf("%d ", P[i] + 1);
  return 0;
}
