Submission #19794

#TimeUsernameProblemLanguageResultExecution timeMemory
19794Qwaz창문 (kriii4_C)C++98
3 / 100
0 ms1084 KiB
#include <cstdio>

typedef long long ll;
const int MOD = 1000000007;

ll modpow(ll a, ll x) {
	ll ret = 1;
	a = a % MOD;

	while (x) {
		if (x & 1) ret = ret * a % MOD;
		a = a * a % MOD;
		x >>= 1;
	}

	return ret;
}

int main() {
	ll h, w;
	scanf("%lld%lld", &h, &w);

	h %= MOD;
	w %= MOD;

	ll cntH, cntW;
	cntH = ((h * (h+1)) >> 1) % MOD;
	cntW = ((w * (w+1)) >> 1) % MOD;

	ll expH, expW;
	expH = h * (h+1) % MOD * (h+2) % MOD * modpow(6, MOD-2) % MOD;
	expW = w * (w+1) % MOD * (w+2) % MOD * modpow(6, MOD-2) % MOD;

	ll res = expH * expW % MOD * 9 % MOD;
	res = res * modpow(cntH * cntW, MOD-2) % MOD;
	printf("%lld\n", res);

	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...