Skip to content

Trở về tuổi thơ

Problem code: olpicpc155c31 Group: Uncategorized Problem type: Undefined

Time limit
1.0 s
Memory limit
256 MB
Points
100partial
AC rate
5.8%
Solvers
3

Fabian trở về tuổi thơ với trò chơi ghép hình, mỗi mảnh có ghi một giá trị và thuộc một trong 8 loại sau:

Ảnh minh họa

Bộ ghép hình gồm tổng cộng n mảnh, trong đó có đúng một mảnh loại 5 hoặc 6 và có đúng một mảnh loại 7 hoặc 8. Fabian muốn ghép toàn bộ các mảnh ghép với nhau thành một hàng ngang, bắt đầu từ mảnh 5 hoặc 6 và kết thúc bằng mảnh 7 hoặc 8.

Bạn hãy giúp Fabian xác định cách ghép các mảnh sao cho giá trị của chúng khi đọc từ trái sang phải có thứ tự từ điển nhỏ nhất.

Input

  • Dòng đầu tiên chứa số nguyên n (2 \le n \le 10^5).
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên x_i và a_i (1 \le x_i \le 8; \; 1 \le a_i \le 10^9; \; a_i \neq a_j \; \forall \; i \neq j) lần lượt là loại mảnh và giá trị ghi trên mảnh.

Output

  • Nếu không tồn tại cách ghép, in ra -1. Ngược lại, in ra dãy giá trị mảnh ghép từ trái sang phải có thứ tự từ điển nhỏ nhất.

Samples

Sample Input 1
5
1 5
2 7
2 3
8 4
6 1
Sample Output 1
1 3 7 5 4
Sample Input 2
3
5 1
7 2
4 3
Sample Output 2
1 3 2
Sample Input 3
5
2 5
2 7
2 3
8 4
6 1
Sample Output 3
-1

Scoring

  • Subtask 1 với 25\% số điểm: n \le 4
  • Subtask 2 với 25\% số điểm: n \le 10
  • Subtask 3 với 25\% số điểm: Không có mảnh loại 2 và 3
  • Subtask 4 với 25\% số điểm: Không còn ràng buộc gì thêm

Clarification

Trong ví dụ đầu tiên, chỉ có hai cách ghép mảnh hợp lệ như sau:

Ảnh minh họa

Cách ghép thứ hai có thứ tự từ điển nhỏ hơn cách ghép đầu tiên.

Comments