Submission #19997

#TimeUsernameProblemLanguageResultExecution timeMemory
19997algoshipda창문 (kriii4_C)C++98
3 / 100
0 ms1720 KiB
#include <bits/stdc++.h> using namespace std; typedef long long lld; const lld MOD = 1e9 + 7; lld fpow(lld n, lld k) { if(k == 0) return 1; if(k % 2){ return 1ll * n * fpow(n, k - 1) % MOD; } lld h = fpow(n, k / 2); return 1ll * h * h % MOD; } inline lld inv(lld n) { return 1ll * fpow(n, MOD - 2) % MOD; } inline void mult(lld& a, lld b) { a = 1ll * a * b % MOD; } inline lld mult2(lld a, lld b) { return 1ll * a * b % MOD; } int main() { lld h, w; scanf("%lld%lld",&h,&w); h %= MOD; w %= MOD; lld b = mult2(mult2(mult2(h,(h+1)%MOD), mult2(w,(w+1)%MOD)), inv(4)); lld hh = h; mult(hh, (h+1)%MOD); mult(hh, (h+2)%MOD); mult(hh, inv(6)); lld ww = w; mult(ww, (w+1)%MOD); mult(ww, (w+2)%MOD); mult(ww, inv(6)); lld a = mult2(hh,ww); mult(a, 9); printf("%lld",mult2(a, inv(b))); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...