Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P164SUMF - ROUND 4F - Đếm dãy con

Lúi có một mảng A gồm n số nguyên, các phần tử của mảng có giá trị trong đoạn [1..m]. Ta gọi countS(A) là số mảng con khác nhau của mảng A (tính cả mảng con rỗng). Một mảng con của mảng A được tạo ra bằng các xóa đi các phần tử trong mảng.

Ta nhận thấy mảng A có rất nhiều cách xây dựng từ đoạn [1..m]. Với mỗi 1 cách xâu dựng ta lại có 1 giá trị countS(A). Lúi tự hỏi tổng tất cả các giá trị countS(A) bằng bao nhiêu?

Input

Gồm 2 số nguyên n và m (1<=n, m<=106).

Output

Số nguyên duy nhất là tổng giá trị countS(A). Vì tổng này có thể rất lớn nên cần phải lấy modulo với 1e9 + 7 (1000000007).

Example

Input:
2 2

Output:
14

Giải thích: có thể có các mảng A sau:
-          [1, 2] -> countS = 4 ([], [1], [2], [1, 2])
-          [2, 1] -> countS = 4 (Như trên)
-          [1, 1] -> countS = 3 ([], [1], [1, 1])
-          [2, 2] -> countS = 3 ([], [2], [2, 2])
-> Tổng là 14.


Được gửi lên bởi:adm
Ngày:2016-07-29
Thời gian chạy:2s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.