Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define boAshraf ios_base::sync_with_stdio(false); cin.tie(NULL);
- #define ll long long
- #define sz(s) (int)(s).size()
- #define all(s) (s).begin(),(s).end()
- using namespace std;
- void File();
- void sol();
- const int mod = 1e9 + 7;
- int mul(int a, int b) {
- return 1ll * a * b % mod;
- }
- int add(int a,int b){
- return (0ll+a+b)%mod;
- }
- int fp(int a, int p) {
- if (!p)return 1;
- int ret = fp(a, p >> 1);
- ret = mul(ret, ret);
- if (p & 1)ret = mul(ret, a);
- return ret;
- }
- int inv(int a) {
- return fp(a, mod - 2);
- }
- int calc(int a){
- return mul(mul(a,a+1),inv(2));
- }
- int main() {
- boAshraf
- // File();
- freopen("rect.in", "r", stdin);
- int t = 1;
- cin >> t;
- while (t--) {
- sol();
- }
- return 0;
- }
- void sol() {
- int h, w;
- cin >> h >> w;
- int val=mul(2,calc((w-1)/2));
- if(w%2==0)val=add(val,w/2);
- int d=calc((h-1)/2);
- int ans=mul(mul(d,2),val);
- if(h%2==0)ans=add(ans,mul(h/2,val));
- cout<<ans<<'\n';
- }
- void File() {
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment