Language: C++

//ABC 154 F Many Many Paths 
//leaf1ll41ll5 
#include <iostream>
#include <string>
#include <algorithm>
#include <cstdio>
#define llint long long
#define mod 1ll000000007

using namespace std;

llint sx, sy, tx, ty;
const int FACT_MAX = 3000005;
llint fact[FACT_MAX], fact_inv[FACT_MAX];

llint modpow(llint a, llint n)
{
	if(n == 0) return 1ll;
	if(n % 2ll){
		return ((a%mod) * (modpow(a, n-1ll)%mod)) % mod;
	}
	else{
		return modpow((a*a)%mod, n/2ll) % mod;
	}
}

void make_fact()
{
	llint val = 1ll;
	fact[0] = 1ll;
	for(int i = 1ll; i < FACT_MAX; i++){
		val *= i;
		val %= mod;
		fact[i] = val;
	}
	fact_inv[FACT_MAX-1ll] = modpow(fact[FACT_MAX-1ll], mod-2ll);
	for(int i = FACT_MAX-2ll; i >= 0; i--){
		fact_inv[i] = fact_inv[i+1ll] * (i+1ll) % mod;
	}
}

llint comb(llint n, llint k)
{
	llint ret = 1ll;
	ret *= fact[n];
	ret *= fact_inv[k], ret %= mod;
	ret *= fact_inv[n-k], ret %= mod;
	return ret;
}

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	make_fact();
	
	cin >> sx >> sy >> tx >> ty;
	
	llint ans = 0;
	for(int i = sx; i <= tx; i++){
		ans += comb(i+ty+1ll, ty), ans %= mod;
		ans += mod - comb(i+(sy-1ll)+1ll, sy-1ll), ans %= mod;
	}
	
	cout << ans << endl;
	
	return 0;
}

Compiler output:
a.cc: In function 'long long int modpow(long long int, long long int)':
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:20:28: note: in expansion of macro 'mod'
   20 |                 return ((a%mod) * (modpow(a, n-1ll)%mod)) % mod;
      |                            ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:20:53: note: in expansion of macro 'mod'
   20 |                 return ((a%mod) * (modpow(a, n-1ll)%mod)) % mod;
      |                                                     ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:20:61: note: in expansion of macro 'mod'
   20 |                 return ((a%mod) * (modpow(a, n-1ll)%mod)) % mod;
      |                                                             ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:23:37: note: in expansion of macro 'mod'
   23 |                 return modpow((a*a)%mod, n/2ll) % mod;
      |                                     ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:23:51: note: in expansion of macro 'mod'
   23 |                 return modpow((a*a)%mod, n/2ll) % mod;
      |                                                   ^~~
a.cc: In function 'void make_fact()':
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:33:24: note: in expansion of macro 'mod'
   33 |                 val %= mod;
      |                        ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:36:61: note: in expansion of macro 'mod'
   36 |         fact_inv[FACT_MAX-1ll] = modpow(fact[FACT_MAX-1ll], mod-2ll);
      |                                                             ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:38:59: note: in expansion of macro 'mod'
   38 |                 fact_inv[i] = fact_inv[i+1ll] * (i+1ll) % mod;
      |                                                           ^~~
a.cc: In function 'long long int comb(long long int, long long int)':
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:46:36: note: in expansion of macro 'mod'
   46 |         ret *= fact_inv[k], ret %= mod;
      |                                    ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:47:38: note: in expansion of macro 'mod'
   47 |         ret *= fact_inv[n-k], ret %= mod;
      |                                      ^~~
a.cc: In function 'int main()':
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:61:51: note: in expansion of macro 'mod'
   61 |                 ans += comb(i+ty+1ll, ty), ans %= mod;
      |                                                   ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:62:24: note: in expansion of macro 'mod'
   62 |                 ans += mod - comb(i+(sy-1ll)+1ll, sy-1ll), ans %= mod;
      |                        ^~~
a.cc:8:13: error: unable to find numeric literal operator 'operator""ll000000007'
    8 | #define mod 1ll000000007
      |             ^~~~~~~~~~~~
a.cc:62:67: note: in expansion of macro 'mod'
   62 |                 ans += mod - comb(i+(sy-1ll)+1ll, sy-1ll), ans %= mod;
      |                                                                   ^~~