Bài 3: Hình Chữ Nhật, Không Phải Hình Vuông! (THT B Hà Tĩnh 2026)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pypy 3, Python, Scratch
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho một lưới ô vuông gồm \(n\) hàng và \(m\) cột.

Chúng ta đều biết rằng, một hình vuông có thể coi là một hình chữ nhật, nhưng một hình chữ nhật chưa chắc đã là hình vuông. Vậy ta định nghĩa một hình chữ nhật được gọi là đẹp nếu nó không phải là hình vuông.

Hãy đếm số hình chữ nhật đẹp có thể chọn trong lưới. Vì kết quả có thể rất lớn, hãy in ra kết quả sau khi chia lấy dư cho \(10^9 + 7\).

Input

  • Một dòng duy nhất gồm hai số nguyên dương \(n\)\(m\).

Output

  • In ra một số nguyên duy nhất là số hình chữ nhật đẹp modulo \(10^9 + 7\).

Example

Test 1

Input
2 3
Output
10
Note

Trong lưới \(2 \cdot 3\), có:

  • \(4\) hình chữ nhật kích thước \(1 \cdot 2\).
  • \(2\) hình chữ nhật kích thước \(1 \cdot 3\).
  • \(3\) hình chữ nhật kích thước \(2 \cdot 1\).
  • \(1\) hình chữ nhật kích thước \(2 \cdot 3\).

Tất cả các hình trên đều không phải hình vuông. Vì vậy đáp án là: \(4 + 2 + 3 + 1 = 10\).

Scoring

  • \(1 \le n, m \le 10^9\).
  • Subtask \(1\) (\(20\%\) số điểm): \(n, m \le 30\).
  • Subtask \(2\) (\(30\%\) số điểm): \(n, m \le 2000\).
  • Subtask \(3\) (\(20\%\) số điểm): \(n = 1, 1 \le m \le 10^9\).
  • Subtask \(4\) (\(30\%\) số điểm): Không có ràng buộc gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.