#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[20];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int a, b, c, d;
cin >> a >> b >> c >> d;
// 调整为0-based索引
a--; b--; c--; d--;
// 计算段长度
int len = b - a + 1;
// 创建临时数组存储第一段
int temp[20];
for (int i = 0; i < len; i++) {
temp[i] = arr[a + i];
}
// 将第二段复制到第一段位置
for (int i = 0; i < len; i++) {
arr[a + i] = arr[c + i];
}
// 将临时存储的第一段复制到第二段位置
for (int i = 0; i < len; i++) {
arr[c + i] = temp[i];
}
// 输出结果
for (int i = 0; i < n; i++) {
cout << arr[i];
if (i < n - 1) cout << " ";
}
cout << endl;
return 0;
}
/**************************************************************
Problem: 1171
User: fandaohan
Language: C++
Result: Accepted
Time:9 ms
Memory:2072 kb
****************************************************************/