# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
19731 | | xdoju | 창문 (kriii4_C) | C++14 | | 0 ms | 1084 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
using namespace std;
const long long MOD = 1000000007ll;
long long modpow(long long r, long long n) {
long long ret = 1;
while (n > 0) {
if (n % 2 > 0) {
ret = (ret * r) % MOD;
}
r = (r * r) % MOD;
n /= 2;
}
return ret;
}
long long modinv(long long n) {
return modpow(n, MOD - 2);
}
long long modprod(long long a, long long b) {
a = a % MOD;
b = b % MOD;
return (a * b) % MOD;
}
long long modprod(long long a, long long b, long long c) {
c = c % MOD;
return (modprod(a, b) * c) % MOD;
}
void proc() {
long long h, w;
scanf("%lld %lld", &h, &w);
//w = w % MOD;
//h = h % MOD;
long long t = (modprod(w, w + 1, w + 2) * modinv(6)) % MOD;
long long u = (modprod(h, h + 1, h + 2) * modinv(6)) % MOD;
long long v = modprod(t, u, 9);
v = (v * modinv(modprod(w, w + 1))) % MOD;
v = (v * modinv(modprod(h, h + 1))) % MOD;
v = (v * 4) % MOD;
printf("%lld", v);
}
int main() {
proc();
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |