CSES - School Dance | Vũ hội trường

Có \(n\) nam sinh và \(m\) nữ sinh trong một trường học. Tuần tới, một buổi khiêu vũ của trường sẽ được tổ chức. Một cặp nhảy bao gồm một nam sinh và một nữ sinh, và có \(k\) cặp tiềm năng.

Nhiệm vụ của bạn là tìm ra số lượng cặp nhảy tối đa và chỉ ra cách đạt được con số này.

Input

  • Dòng đầu tiên là ba số nguyên \(n, m\) và \(k\): số nam sinh, nữ sinh và các cặp tiềm năng. Các nam sinh được đánh số \(1,2,\ldots,n\) và các nữ sinh được đánh số \(1,2,\ldots,m\)
  • \(k\) dòng tiếp theo mô tả các cặp tiềm năng. Mỗi dòng gồm hai số nguyên \(a\) và \(b\): nam sinh \(a\) và nữ sinh \(b\) sẵn sàng nhảy cùng nhau

Output

  • Đầu tiên in một số nguyên \(r\): số lượng cặp nhảy tối đa
  • Sau đó, in \(r\) dòng mô tả các cặp. Bạn có thể in bất kỳ giải pháp hợp lệ nào

Constraints

  • \(1 \le n, m \le 500\)
  • \(1 \le k \le 1000\)
  • \(1 \le a \le n\)
  • \(1 \le b \le m\)

Example

Test 1

Input
3 2 4
1 1
1 2
2 1
3 1
Output
2
1 2
3 1

Tích lớn nhất

Nhập vào một số nguyên dương \(A\) \((1\le A \le 10^{18})\) và một số \(K\) \((1\le K \le 10^{9}\)). Biết số \(B\) là số nguyên được tạo thành từ các chữ số của số \(A\). Hãy cho biết kết quả lớn nhất của tích \(B \times K\).

Dữ liệu vào

  • Một dòng, gồm số nguyên dương \(A\) và \(K\), hai số cách nhau một khoảng trắng.

Kết quả

  • Một dòng, ghi kết quả lớn nhất của tích \(B \times K\).

Ràng buộc

  • Subtask \(1\) (\(50\%\) số điểm): \(1 \leq A \leq 10^{6}\) và \(1 \leq K \leq 10^{4}\).
  • Subtask \(2\) (\(50\%\) số điểm): không có ràng buộc gì thêm

Example

Test

Input
56 2
Output
130

BOI 2024 - Trains

Bạn vừa đến Vilnius và muốn ghé thăm các thành phố khác nhau ở Litva.

Các thành phố ở Litva nằm trên một đường thẳng và được đánh số lần lượt từ \(1\) đến \(N\). Vilnius mang số \(1\).

Mỗi thành phố có một nhà ga với đúng một tuyến tàu xuất phát từ đó. Bạn chỉ có thể lên tàu ở ga đầu của tuyến, nhưng có thể xuống tại bất kỳ điểm dừng nào của tàu. Tàu xuất phát từ thành phố \(i\) dừng lại sau mỗi \(d_i\) thành phố và có \(x_i\) điểm dừng trên tuyến, không tính thành phố xuất phát. Nếu \(d_i=0\), tàu xuất phát từ thành phố \(i\) hiện không hoạt động và bạn không thể lên tàu đó.

Cụ thể, nếu lên tàu tại thành phố \(i\), bạn có thể xuống tại bất kỳ thành phố nào mang số \(i+t\cdot d_i\), với \(1\le t\le x_i\). Vì chỉ muốn ghé thăm các thành phố ở Litva, bạn sẽ không đi quá thành phố \(N\), ngay cả khi tuyến tàu còn những điểm dừng phía sau.

Bạn dự định ghé thăm một số thành phố và dùng tàu để di chuyển giữa chúng. Khi lập kế hoạch, bạn muốn biết có bao nhiêu hành trình khác nhau bắt đầu tại Vilnius. Hai hành trình khác nhau nếu dãy thành phố mà bạn dừng lại trong hai hành trình khác nhau.

Hãy tính số hành trình này và in ra kết quả lấy modulo \(10^9+7\).

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên \(N\) là số thành phố.

Tiếp theo là \(N\) dòng. Dòng thứ \(i\) chứa hai số nguyên \(d_i\) và \(x_i\) mô tả tuyến tàu xuất phát từ thành phố \(i\).

Dữ liệu ra

In ra một số nguyên duy nhất là số cách ghé thăm một số trong \(N\) thành phố, lấy modulo \(10^9+7\).

Ràng buộc

  • \(1\le N\le 10^5\).
  • \(0\le d_i\le 10^9\) với mọi \(1\le i\le N\).
  • \(0\le x_i\le 10^9\) với mọi \(1\le i\le N\).

Phân nhóm

  1. \(8\) điểm: \(N\le 15\).
  2. \(13\) điểm: \(N\le 10^4\).
  3. \(16\) điểm: \(d_i=1\) với mọi \(1\le i\le N\).
  4. \(34\) điểm: \(x_i=10^9\) với mọi \(1\le i\le N\).
  5. \(29\) điểm: không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
5
1 3
2 1
1 3
0 10
3 5
Output
7
Giải thích

Có \(7\) hành trình có thể thực hiện:

  • \(1\).
  • \(1\to 2\).
  • \(1\to 2\to 4\).
  • \(1\to 3\).
  • \(1\to 3\to 4\).
  • \(1\to 3\to 5\).
  • \(1\to 4\).

Xem phim

Bình cùng bạn bè của mình sẽ đi xem phim nhân dịp kỷ niệm nhóm bạn quen và chơi thân với nhau. Nhóm bạn dự kiến sẽ đến rạp chiếu phim Quốc Gia và xem càng nhiều bộ phim càng tốt.

Lên mạng tìm kiếm lịch chiếu phim, nhóm bạn đã có được trong tay danh sách \(n\) bộ phim sẽ được chiếu trong ngày hôm nay, trong đó bộ phim thứ \(i\) được mã hóa là một số \(a_i\). Nhìn vào danh sách, Bình thấy có những bộ phim được chiếu lặp lại và nhóm bạn không thích điều này, vì vậy nhóm bạn quyết định sẽ chọn ra một đoạn liên tiếp dài nhất mà không có bộ phim nào bị lặp lại.

Em hãy lập trình tìm giúp nhóm bạn độ dài của đoạn liên tiếp các bộ phim dài nhất mà các bạn mong muốn được xem.

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) là số lượng bộ phim (\(1 \le n \le 2 \cdot 10^5\)).
  • Dòng thứ hai là danh sách \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) các bộ phim được chiếu trong ngày hôm đó.

Output

  • Một số nguyên dương duy nhất là độ dài đoạn con liên tiếp các bộ phim thỏa mãn yêu cầu.

Example

Test 1

Input
8
1 2 1 3 2 7 4 2
Output
5
Note

Đoạn liên tiếp dài nhất không lặp lại là 1 3 2 7 4 có độ dài là \(5\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(1 \le n \le 100\).
  • Subtask \(2\) (\(30\%\) số điểm): \(100 < n \le 1000\).
  • Subtask \(3\) (\(40\%\) số điểm): Không có ràng buộc gì thêm.