class ListNode{
public int val;
public ListNode next;
public ListNode(int val){
this.val = val;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt();
int[] val = new int[length];
for (int i = 0; i < length; i++) {
val[i] = scanner.nextInt();
}
int left = scanner.nextInt();
int right = scanner.nextInt();
ListNode head = new ListNode(val[0]);
ListNode cur = head;
for (int i = 1; i < length; i++) {
cur.next = new ListNode(val[i]);
cur = cur.next;
}
head = reversePartLinkedList(head,left,right);
while (head != null){
System.out.print(head.val + " ");
head = head.next;
}
}
private static ListNode reversePartLinkedList(ListNode head, int start, int end) {
ListNode dummy = new ListNode(-1);
dummy.next = head;
ListNode prev = dummy;
for (int i = 1;i < start;i++){
prev = prev.next;
}
ListNode prev2 = prev.next;
ListNode prev3 = prev.next;
ListNode cur = prev2.next;
for (int i = start; i < end; i++) {
ListNode curNext = cur.next;
cur.next = prev2;
prev2 = cur;
cur = curNext;
prev3.next = curNext;
}
prev.next = prev2;
return dummy.next;
}
} import java.util.Scanner;
/*
* 反转部分单向链表
*/
class Node {
int val;
Node next;
public Node(int val) {//构造方法
super();
this.val = val;
this.next = null;
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
int []value = new int[len];
for (int i = 0; i < len; i++) {
value[i] = sc.nextInt();
}
int left = sc.nextInt();
int right = sc.nextInt();
reverse( value, left-1, right-1);
Node head = arrayToList(value);
Node node;
for (node = head; node.next != null; node = node.next) {
System.out.print(node.val + " ");
}
System.out.print(node.val);
}
public static void reverse(int []value, int left, int right) {
while (left < right) {
int tmp = value[left];
value[left] = value[right];
value[right] = tmp;
left++;
right--;
}
}
public static Node arrayToList(int []value) {
Node head = new Node(-1);
Node node = head;
for (int i = 0; i < value.length; i++) {
Node newNode = new Node(value[i]);
node.next = newNode;
node = newNode;
}
return head.next;
}
}