`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Задача Divide. До дідуся приїхали онуки: Катерина і Дмитро. Дідусь підготував їм подарунок - коробку з відеофільмами, але сказав, що в коробці парна кількість дисків з фільмами, які він поділити не зміг, але хотів би, аби половина дісталась Катрусі й половина Дмитру. Діти придумали досить цікавий спосіб поділу: спочатку вони читали опис кожного фільму, а потім ставили якусь оцінку цьому фільму (кожен свою, оцінки того ж фільму можуть відрізнятись). Потім вони склали всі фільми в коробку. Дмитро витягував кожного разу два диски, і, як справжній джентльмен, давав Катерині вибрати один собі, а інший забирав сам. Зрозуміло, що Катерина обирала той фільм, в якого її оцінка більша. Але Дмитро бажав, щоб сума його оцінок отриманих ним фільмів була якомога більшою. Оскільки він пам'ятав всі свої оцінки й всі оцінки Катерини, Дмитро, підглядаючи у коробку, обирав по два диски кожного разу таким чином,аби в кінці сума його оцінок отриманих ним фільмів була найбільшою.

Технічні умови. Програма Divide читає з клавіатури (стандартного введення) натуральне число N (2≤N≤5000, N - парне). Далі програма читає з наступного рядка оцінки Катерини - N натуральних чисел (до того ж, всі оцінки Катерини різні). З третього рядка програма читає ще N чисел - оцінки Дмитра. Гарантується, що оцінки лежать в межах від 1 до 400000 включно. Програма виводить N/2 рядків по два числа через пропуск, в кожному - пари фільмів, в тому порядку, в якому їх треба витягувати Дмитру. Фільми нумеруються з одиниці. Числа в кожному рядку можна виводити в довільному порядку. Якщо існує декілька рішень, виведіть будь-яке.

Приклади

Введення

Виведення

6

6 10 11 18 5 14

1 7 6 12 15 16

5 1

2 3

6 4

6

6 44 2 43 7 48

6 44 2 43 7 48

3 1

5 4

2 6

© LIKT 1998-2024