AO LÀNG VI - XẾP HẠNG WINNER

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Máy chấm
Alisa Mikhailovna Kujou, Kanade Yoisaki

VOZ là một diễn đàn lớn tại Việt Nam, nơi các thành viên có thể trao đổi về những chủ đề trong lĩnh vực CNTT. Ngoài CNTT, VOZ còn là nơi ươm mầm tài năng có tiếng, những người đã từng đặt chân đến mảnh đất này gọi là VOZer. Một hôm, admin VOZ có mở một contest cho những VOZer. Trong contest này, mọi VOZer làm mọi cách để chứng tỏ mình là một Winner chứ không phải là một Lesor 200 chap. Sau hai tuần cưa gái vất vả, ban tổ chức công bố bảng điểm tổng cho toàn thể thiên hạ. Thứ hạng của một VOZer chính là số lượng VOZer khác có điểm lớn hơn người này rồi cộng thêm ~1~. Bên dưới là BXH minh họa:

Thứ hạng Thí sinh Độ Winner Chất chơi Người dơi
1 Hoài Linh 14000000000
2 Sena 3300000000
3 Đạt Villa 400000000
4 Jack 97 5000000
4 Mèo Simmy 5000000
6 Người ra đề 0

Chỉ cần nhìn vào cột "Thứ hạng", ta có thể thấy giá trị trong cột này tạo thành một dãy không giảm gồm ~n~ phần tử, ngoài ra còn có nhiều tính chất thú vị khác. Nhiệm vụ của bạn là đếm toàn bộ số dãy Thứ hạng có thể. Chú ý rằng dãy ~A~ và ~B~ được coi là khác nhau khi tồn tại một vị trí ~i~ trong dãy mà ~A_i \neq B_i~.

Input:

  • Gồm một số nguyên dương ~n\ (1 \le n \le 2 \times 10^9)~.

Output:

  • Gồm một số nguyên dương là số dãy có thể tạo ra sau khi chia dư cho ~10^9+7~.
Sample Input
3
Sample Output
4
Giải thích

Có ~4~ dãy xếp hạng có thể:

  • 1 1 1: Ba VOZer ngang điểm.
  • 1 1 3: Hai VOZer đứng đầu bằng điểm và hơn VOZer thứ 3.
  • 1 2 2: Một VOZer xuất chúng, 2 VOZer còn lại bằng điểm.
  • 1 2 3: Ba VOZer có điểm khác nhau.

Ràng buộc

  • 30% số test có ~n \le 10~.
  • 20% số test có ~n \le 10^4~.
  • 30% số test có ~n \le 10^7~.
  • 20% số test không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.