criyle/codenet-compile-errors huggingface dataset:
Language: C++

#include <bits/stdc++.h>

using namespace std;


    // Returns factorial of n
    double fact(int n)
    {
        double res = 1;
        for (int i = 2; i <= n; i++)
            res = res * i;
        return res;
    }
    double nCr(int n, int r)
    {
        return fact(n) / (fact(r) * fact(n - r));
    }

int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,a,b;
    cin>>n>>a>>b;
    double x;
    x=(pow(2,n)-1-nCr(n,a)-nCr(n,b))%pow(10,9);
    cout<<x;
    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:25:37: error: invalid operands of types '__gnu_cxx::__promote<double>::__type' {aka 'double'} and '__gnu_cxx::__promote<double>::__type' {aka 'double'} to binary 'operator%'
   25 |     x=(pow(2,n)-1-nCr(n,a)-nCr(n,b))%pow(10,9);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      |                           |             |
      |                           |             __gnu_cxx::__promote<double>::__type {aka double}
      |                           __gnu_cxx::__promote<double>::__type {aka double}
Language: C++

n, a, b = map(int, input().split());
ans = (2 ** n) - 1
p = 1
for i in range(1, a + 1):
	p = p * i
q = 1
for i in range(1, b + 1):
	q = q * i
t = n - a
w = n - b
h = 1
for i in range(t+1, n + 1):
	h = h * i
x = 1
for i in range(w+1, n + 1):
	x = x * i
h = h // p
x = x // q
print(ans - h - x)





Compiler output:
a.cc:1:1: error: 'n' does not name a type
    1 | n, a, b = map(int, input().split());
      | ^
a.cc:2:1: error: 'ans' does not name a type
    2 | ans = (2 ** n) - 1
      | ^~~
Language: C++

#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define MOD 1000000007

ll bigmod(ll n , ll p)
{
    if(p==0) return 1;
    else if(p%2==0){
        ll ret=bigmod(n,p/2);
        return ((ret%MOD)*(ret%MOD))%MOD;
    }
    else
        return ((n%MOD)*(bigmod(n,p-1)%MOD))%MOD;
}



int main()
{
    ll n,a,b,d,l=1,h=1,cnt=0;
    cin>>n>>a>>b;
    d=bigmod(2,n);
    for(int i=n,j=a;i<=(a-1),j>=1;i--,j--){
        //cout<<i<<" "<<j<<endl;
        l=((l%MOD)*(((i%MOD)*bigmod(j,MOD-2))%MOD))%MOD;
    }
    //cout<<l<<endl;
    for(int i=n,j=b;i<=(b-1),j>=1;i--,j--){
        h=((h%MOD)*(((i%MOD)*bigmod(j,MOD-2))%MOD))%MOD;
    }
    d=(d-(l+h)MOD)%MOD;
    cout<<((d%MOD)-(1%MOD))%MOD<<"\n";
}


Compiler output:
a.cc: In function 'int main()':
a.cc:33:15: error: expected ')' before numeric constant
   33 |     d=(d-(l+h)MOD)%MOD;
      |       ~       ^
      |               )
Language: C++

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll RS(ll N, ll P, ll Mod){if(P==0)return 1;else if(P%2==0){ll sq=RS(N,P/2,Mod);return sq*sq%Mod;}else{return N*RS(N,P-1,Mod)%Mod;}} //power(mod)(repeat-square,fast)

int main(void) {
  int main(void){
  ll n,a,b;
  cin >> n >> a >> b;
  ll ans;
  ans = RS(2,n,M); // nから任意個選ぶ組み合わせ=2^n (0本の花束はないので、後で1引く)
  
  ll abunbo=1,abunshi=n;
  for (int i = 1; i < a; i++){
    abunshi = abunshi * (n-i) % M;
    abunbo = abunbo * (i+1) % M;
  }
  ll acomb = abunshi * RS(abunbo, M-2, M) % M;
  ll bbunbo=1,bbunshi=n;
  for (int i = 1; i < b; i++){
    bbunshi = bbunshi * (n-i) % M;
    bbunbo = bbunbo * (i+1) % M;
  }
  ll bcomb = bbunshi * RS(bbunbo, M-2, M) % M;
  
  ans -= (acomb + bcomb + 1) % M;
  if (ans < 0) ans += M;
  cout << ans << endl;
  return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:7:17: error: a function-definition is not allowed here before '{' token
    7 |   int main(void){
      |                 ^
a.cc:30:2: error: expected '}' at end of input
   30 | }
      |  ^
a.cc:6:16: note: to match this '{'
    6 | int main(void) {
      |                ^
Language: C

#include<stdio.h>

int main(){
  long long int n, a, b, i, j, total = 0,  x = 1, y = 1, z = 1000000007;
  scanf("%lld %lld %lld",&n,&a,&b);
  for(i=1;i<=n;i++){
      if(i!=a&&i!=b){
          for(j=n;j>n-i;j--){ x *= j; x=%z;  }
          for(j=i;j>0;j--){ y *= j; y=%z; }
          total += x/y; total %= z;
          x = 1; y = 1;
      }
  }
  printf("%lld",total);
  return 0;
}


Compiler output:
main.c: In function 'main':
main.c:8:41: error: expected expression before '%' token
    8 |           for(j=n;j>n-i;j--){ x *= j; x=%z;  }
      |                                         ^
main.c:9:39: error: expected expression before '%' token
    9 |           for(j=i;j>0;j--){ y *= j; y=%z; }
      |                                       ^
Language: C

#include<stdio.h>

int main(){
  long long int total = 0,  x = 1, y = 1, z = 1000000007;
  int n, a, b i, j;
  scanf("%d %d %d",&n,&a,&b);
  for(i=1;i<=n;i++){
      if(i!=a&&i!=b){
          for(j=n;j>n-i;j--){ x *= j;  }
          for(j=i;j>0;j--){ y *= j;  }
          total += x/y; total %= z;
          x = 1; y = 1;
      }
  }
  printf("%lld",total);
  return 0;
}


Compiler output:
main.c: In function 'main':
main.c:5:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'i'
    5 |   int n, a, b i, j;
      |               ^
main.c:6:27: error: 'b' undeclared (first use in this function)
    6 |   scanf("%d %d %d",&n,&a,&b);
      |                           ^
main.c:6:27: note: each undeclared identifier is reported only once for each function it appears in
main.c:7:7: error: 'i' undeclared (first use in this function)
    7 |   for(i=1;i<=n;i++){
      |       ^
main.c:9:15: error: 'j' undeclared (first use in this function)
    9 |           for(j=n;j>n-i;j--){ x *= j;  }
      |               ^
Language: C

#include<stdio.h>

int main(){
  long long int total = 0,  x = 1, y = 1, z = 1000000007;
  int n, a, b; i, j,
  scanf("%d %d %d",&n,&a,&b);
  for(i=1;i<=n;i++){
      if(i!=a&&i!=b){
          for(j=n;j>n-i;j--){ x *= j;  }
          for(j=i;j>0;j--){ y *= j;  }
          total += x/y; total %= z;
          x = 1; y = 1;
      }
  }
  printf("%lld",total);
  return 0;
}


Compiler output:
main.c: In function 'main':
main.c:5:16: error: 'i' undeclared (first use in this function)
    5 |   int n, a, b; i, j,
      |                ^
main.c:5:16: note: each undeclared identifier is reported only once for each function it appears in
main.c:5:19: error: 'j' undeclared (first use in this function)
    5 |   int n, a, b; i, j,
      |                   ^
Language: C++

#include<bits/stdc++.h>
using namespace std;
long  long int M=1000000007
#define ll long long int
ll binaryExponentiation(int a,int b)

{

    if(b==0)
        return 1;

      ll aux=binaryExponentiation(a,b/2);
      aux=(aux*aux)%M;

      if(b%2)
        aux=(aux*a)%M;

      return aux;





}




int main()

{
    int i,j;

    int n,a,b;
    cin>>n;
    cin>>a>>b;

    ll ans=binaryExponentiation(2,n);
    //cout<<ans<<endl;
    ans=(ans-1)%M;
    if(ans<0)
        ans+=M;

    ll evala=1;
    ll evalb=1;
    if(a>n)
        evala=0;
    else
    {
        ll aux=1;
        for(i=0;i<a;i++)
            {evala=(evala*(n-i))%M;
            aux=(aux*(i+1))%M;            }

            //cout<<evala<<endl;

        evala=(evala* binaryExponentiation(aux,M-2))%M;

       // cout<<evala<<endl;

    }


     if(b>n|| a==b)
        evalb=0;
    else
    {
        ll aux=1;
        for(i=0;i<b;i++)
            {evalb=(evalb*(n-i))%M;
            aux=(aux*(i+1))%M;            }
            //cout<<evalb<<endl;

        evalb=(evalb * binaryExponentiation(aux,M-2))%M;
        //cout<<evalb;

    }



    ans=(ans-evala)%M;
    if(ans<0)
            ans+=M;
     ans=(ans-evalb)%M;
     if(ans<0)
                ans=+M;
     cout<<ans<<endl;



    return 0;

}


Compiler output:
a.cc:4:12: error: expected ',' or ';' before 'long'
    4 | #define ll long long int
      |            ^~~~
a.cc:5:1: note: in expansion of macro 'll'
    5 | ll binaryExponentiation(int a,int b)
      | ^~
a.cc: In function 'int main()':
a.cc:38:12: error: 'binaryExponentiation' was not declared in this scope
   38 |     ll ans=binaryExponentiation(2,n);
      |            ^~~~~~~~~~~~~~~~~~~~
Language: C++

#include<bits\stdc++.h>
using namespace std;
#define M 1000000007
#define ll long long int
ll binaryExponentiation(int a,int b)

{

    if(b==0)
        return 1;

      ll aux=binaryExponentiation(a,b/2);
      aux=(aux*aux)%M;

      if(b%2)
        aux=(aux*a)%M;

      return aux;





}




int main()

{
    int i,j;

    ll n,a,b;
    cin>>n;
    cin>>a>>b;

    ll ans=binaryExponentiation(2,n);
    //cout<<ans<<endl;
    ans=ans-1;
    if(ans<0)
        ans+=M;

    ll evala=1;
    ll evalb=1;
    if(a>n)
        evala=0;
    else
    {
        ll aux=1;
        for(i=0;i<a;i++)
            {evala=(evala*(n-i))%M;
            aux=(aux*(i+1))%M;            }

            //cout<<evala<<endl;

        evala=(evala* binaryExponentiation(aux,M-2))%M;

       // cout<<evala<<endl;

    }


     if(b>n|| a==b)
        evalb=0;
    else
    {
        ll aux=1;
        for(i=0;i<b;i++)
            {evalb=(evalb*(n-i))%M;
            aux=(aux*(i+1))%M;            }
            //cout<<evalb<<endl;

        evalb=(evalb* binaryExponentiation(aux,M-2))%M;
        //cout<<evalb;

    }



    ans=ans-evala;
    if(ans<0)
            ans+=M;
     ans=ans-evalb;
     if(ans<0)
                ans=+M;
     cout<<ans<<endl;



    return 0;

}


Compiler output:
a.cc:1:9: fatal error: bits\stdc++.h: No such file or directory
    1 | #include<bits\stdc++.h>
      |         ^~~~~~~~~~~~~~~
compilation terminated.
Language: C++

#include<bits\stdc++.h>
using namespace std;
#define M 1000000007
#define ll long long int
ll binaryExponentiation(int a,int b)

{

    if(b==0)
        return 1;

      ll aux=binaryExponentiation(a,b/2);
      aux=(aux*aux)%M;

      if(b%2)
        aux=(aux*a)%M;

      return aux;





}




int main()

{
    int i,j;

    int n,a,b;
    cin>>n;
    cin>>a>>b;

    ll ans=binaryExponentiation(2,n);
    //cout<<ans<<endl;
    ans=ans-1;
    if(ans<0)
        ans+=M;

    ll evala=1;
    ll evalb=1;
    if(a>n)
        evala=0;
    else
    {
        ll aux=1;
        for(i=0;i<a;i++)
            {evala=(evala*(n-i))%M;
            aux=(aux*(i+1))%M;            }

            //cout<<evala<<endl;

        evala=(evala* binaryExponentiation(aux,M-2))%M;

       // cout<<evala<<endl;

    }


     if(b>n|| a==b)
        evalb=0;
    else
    {
        ll aux=1;
        for(i=0;i<b;i++)
            {evalb=(evalb*(n-i))%M;
            aux=(aux*(i+1))%M;            }
            //cout<<evalb<<endl;

        evalb=(evalb* binaryExponentiation(aux,M-2))%M;
        //cout<<evalb;

    }



    ans=ans-evala;
    if(ans<0)
            ans+=M;
     ans=ans-evalb;
     if(ans<0)
                ans=+M;
     cout<<ans<<endl;



    return 0;

}


Compiler output:
a.cc:1:9: fatal error: bits\stdc++.h: No such file or directory
    1 | #include<bits\stdc++.h>
      |         ^~~~~~~~~~~~~~~
compilation terminated.
Language: C++

#include<bits\stdc++.h>
using namespace std;
#define M 1000000007
#define ll long long int
ll binaryExponentiation(int a,int b)

{

    if(b==0)
        return 1;

      ll aux=binaryExponentiation(a,b/2);
      aux=(aux*aux)%M;

      if(b%2)
        aux=(aux*a)%M;

      return aux;





}




int main()

{
    int i,j;

    int n,a,b;
    cin>>n;
    cin>>a>>b;

    ll ans=binaryExponentiation(2,n);
    //cout<<ans<<endl;
    ans=ans-1;
    if(ans<0)
        ans+=M;

    ll evala=1;
    ll evalb=1;
    if(a>n)
        evala=0;
    else
    {
        ll aux=1;
        for(i=0;i<a;i++)
            {evala=(evala*(n-i))%M;
            aux=(aux*(i+1))%M;            }

            //cout<<evala<<endl;

        evala=(evala* binaryExponentiation(aux,M-2))%M;

       // cout<<evala<<endl;

    }

if(a!=b){
     if(b>n)
        evalb=0;
    else
    {
        ll aux=1;
        for(i=0;i<b;i++)
            {evalb=(evalb*(n-i))%M;
            aux=(aux*(i+1))%M;            }
            //cout<<evalb<<endl;

        evalb=(evalb* binaryExponentiation(aux,M-2))%M;
        //cout<<evalb;

    }
}


    ans=ans-evala;
    if(ans<0)
            ans+=M;
     ans=ans-evalb;
     if(ans<0)
                ans=+M;
     cout<<ans<<endl;



    return 0;

}


Compiler output:
a.cc:1:9: fatal error: bits\stdc++.h: No such file or directory
    1 | #include<bits\stdc++.h>
      |         ^~~~~~~~~~~~~~~
compilation terminated.
Language: C

#include<stdio.h>
#include<math.h>
int main(){
  int n,a,b;
  scanf("%d %d %d",&n,&a,&b);
  
  int i;	//作る花束の本数-i本
  int Combi;
  for(i=1;i<=n;i++){
    if(i==a||i==b)	break;
    else{
      Combi=
    }
  }
  int k=1;
  for(i=1;i<=n;i++){
  k=k*i;
  }	//関数定義して階乗の関数を作り呼び出せ
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:13:5: error: expected expression before '}' token
   13 |     }
      |     ^
Language: C++

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
typedef long long ll;

// auto mod int
// https://youtu.be/L8grWxBlIZ4?t=9858
// https://youtu.be/ERZuLAxZffQ?t=4807 : optimize
// https://youtu.be/8uowVvQ_-Mo?t=1329 : division
const int mod = 1000000007;
 
//足したり引いたりすると勝手にmodをとってくれる
struct mint {
  ll x; // typedef long long ll;
  mint(ll x=0):x((x%mod+mod)%mod){}
  mint& operator+=(const mint a) {
    if ((x += a.x) >= mod) x -= mod;
    return *this;
  }
  mint& operator-=(const mint a) {
    if ((x += mod-a.x) >= mod) x -= mod;
    return *this;
  }
  mint& operator*=(const mint a) {
    (x *= a.x) %= mod;
    return *this;
  }
  mint operator+(const mint a) const {
    mint res(*this);
    return res+=a;
  }
  mint operator-(const mint a) const {
    mint res(*this);
    return res-=a;
  }
  mint operator*(const mint a) const {
    mint res(*this);
    return res*=a;
  }
  mint pow(ll t) const {
    if (!t) return 1;
    mint a = pow(t>>1);
    a *= a;
    if (t&1) a *= *this;
    return a;
  }
 
  // for prime mod
  mint inv() const {
    return pow(mod-2);
  }
  mint& operator/=(const mint a) {
    return (*this) *= a.inv();
  }
  mint operator/(const mint a) const {
    mint res(*this);
    return res/=a;
  }
};
// combination mod prime
// https://www.youtube.com/watch?v=8uowVvQ_-Mo&t=1619
 
//コンビネーションのライブラリ
struct combination {
    //factのなかに階乗を求めている
    //ifactのなかに階乗逆元を求めている
  vector<mint> fact, ifact;
  combination(int n):fact(n+1),ifact(n+1) {
    assert(n < mod);
    fact[0] = 1;
    for (int i = 1; i <= n; ++i) fact[i] = fact[i-1]*i;
    ifact[n] = fact[n].inv();
    for (int i = n; i >= 1; --i) ifact[i-1] = ifact[i]*i;
  }
  mint operator()(int n, int k) {
    if (k < 0 || k > n) return 0;
    return fact[n]*ifact[k]*ifact[n-k];
  }
};
 

mint f(int n){
    if (n == 0) return 1;
    mint x = f(n / 2);
    x * = x;
    if (n % 2 == 1) x *= 2;
    return x;
}

mint choose (int a, int b){
    mint x = 1, y = 1;
    rep(i, a){
        x *= n-i;
        y *= i+1;
        
    }
    return x / y;
}

int main(){
    int n, a, b;
    cin >> n >> a >> b;
    
    mint ans = f(n);
    ans -= 1;
    ans -= choose(n,a);
    ans -= choose(n, b);
    cout << ans.x << endl;
    return 0;
}

Compiler output:
a.cc: In function 'mint f(int)':
a.cc:86:9: error: expected primary-expression before '=' token
   86 |     x * = x;
      |         ^
a.cc: In function 'mint choose(int, int)':
a.cc:94:14: error: 'n' was not declared in this scope
   94 |         x *= n-i;
      |              ^
Language: Java

import java.util.*;
import java.io.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int n = in.nextInt(), a = in.nextInt(), b = in.nextInt();
    int mod = 1_000_000_007;
    long total = pow(2L, n) - 1;
    long cab = (choose(n, a) + choose(n, b)) % mod;
    long ans = (total - cab + mod) % mod;
    System.out.println(ans);
  }
  
  long choose(int n, int a)
  {
    if(n - a < a) return choose(n, n - a);
    long nf = 1, af = 1;
    int mod = 1_000_000_007;
    for(int i = 1; i <= a; i++)
    {
      nf *= n - i + 1;
      nf %= mod;
      nf *= pow(i, mod - 2);
      nf %= mod;
    }
    return nf;
  }
  
  long pow(long a, int b)
  {
    long re = 1;
    int mod = 1_000_000_007;
    while(b > 0)
    {
      if(b % 2 != 0)
      {
        re *= a;
        re %= mod;
      }
      a *= a;
      a %= mod;
      b /= 2;
    }
    return re;
  }
}
  

Compiler output:
Main.java:11: error: non-static method pow(long,int) cannot be referenced from a static context
    long total = pow(2L, n) - 1;
                 ^
Main.java:12: error: non-static method choose(int,int) cannot be referenced from a static context
    long cab = (choose(n, a) + choose(n, b)) % mod;
                ^
Main.java:12: error: non-static method choose(int,int) cannot be referenced from a static context
    long cab = (choose(n, a) + choose(n, b)) % mod;
                               ^
3 errors
Language: Java

import java.util.*;
 
public class Main{
  public static void main(String...args){
	Scanner s = new Scanner(System.in);
    long n = s.nextLong(), a = s.nextLong(), b = s.nextLong();
    long sum = 0;
    long molecule = 1;
    long denominator = 1;
    for(long i = 1; i <= n; i++){
      molecule *= n-(i-1); molecule %= 1000000007;
      denominator *= 1+(i-1); denominator %= 1000000007;
      if(i != a && i != b){
        sum += molecule / denominator sum %= 1000000007;
      }
    }
    System.out.println(sum);
  }
}

Compiler output:
Main.java:14: error: ';' expected
        sum += molecule / denominator sum %= 1000000007;
                                     ^
1 error
Language: C++

#include <bits/stdc++.h>
#define pb push_back
#define ff first
#define ss second
#define assign(x,val) memset(x,val,sizeof(x))
#define motherfucker  ios_base::sync_with_stdio(false); cin.tie(NULL);
#define all(x) (x).begin(), (x).end()
#define for0(i,n) for(ll i=0;i<n;++i)
#define for1(i,n) for(ll i=1;i<=n;++i)
#define ford(i,n) for(ll i=n;i>=1;--i)
#define forg(i,a,b) for(ll i=a;i<b;++i)
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pii> vpi;
typedef pair<ll, ll> pll;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<pll> vpl;
long long mod = 1000000007;
const long double PI = (long double)(3.1415926535897932384626433832795);
inline void yes(){cout<<"YES\n";}
inline void no(){ cout<<"NO\n";}
inline void notposs(){cout<<-1<<endl;}
bool tests = 0;
ll binpow(ll a, ll b, ll mo){
	ll ans = 1;
	while(b){
		if(b&1){
			ans*=a;
			ans%=mod;
		}
		a*=a;
		a%=mo;
		b/=2;
	}
	return ans;
}

ll fn(ll n, ll r){
	ll num = 1, denom = 1;
	for(int i = n - r  + 1; i <=n;++i){
		num*=i;
		num%=mod;
	}
	for(int i = 1; i<= r;++i){
		denom*=i;
		denom%=mod;
	}
	return (num*(binpow(denom,mod - 2, mod) + mod))%mod;
}



void solve(){
	ll n, a, b;cin>>n>>a>>b;
	cout<<((binpow(2,n,mod) - 1 - fn(n,a) - fn(n, b) + 2 * mod)%mod<<endl;
}
 
int main(){
	
	motherfucker
	ll t = 1;
	if(tests) cin>>t;
	for0(i, t){
		solve();
	}
	return 0;
}


Compiler output:
a.cc: In function 'void solve()':
a.cc:60:72: error: invalid operands of types 'll' {aka 'long long int'} and '<unresolved overloaded function type>' to binary 'operator<<'
   60 |         cout<<((binpow(2,n,mod) - 1 - fn(n,a) - fn(n, b) + 2 * mod)%mod<<endl;
      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
a.cc:60:78: error: expected ')' before ';' token
   60 |         cout<<((binpow(2,n,mod) - 1 - fn(n,a) - fn(n, b) + 2 * mod)%mod<<endl;
      |               ~                                                              ^
      |                                                                              )
Language: C++

#include <bits/stdc++.h>
#define pb push_back
#define ff first
#define ss second
#define assign(x,val) memset(x,val,sizeof(x))
#define motherfucker  ios_base::sync_with_stdio(false); cin.tie(NULL);
#define all(x) (x).begin(), (x).end()
#define for0(i,n) for(ll i=0;i<n;++i)
#define for1(i,n) for(ll i=1;i<=n;++i)
#define ford(i,n) for(ll i=n;i>=1;--i)
#define forg(i,a,b) for(ll i=a;i<b;++i)
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pii> vpi;
typedef pair<ll, ll> pll;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<pll> vpl;
long long mod = 1000000007;
const long double PI = (long double)(3.1415926535897932384626433832795);
inline void yes(){cout<<"YES\n";}
inline void no(){ cout<<"NO\n";}
inline void notposs(){cout<<-1<<endl;}
bool tests = 0;
ll binpow(ll a, ll b, ll mo){
	ll ans = 1;
	while(b){
		if(b&1){
			ans*=a;
			ans%=mod;
		}
		a*=a;
		a%=mo;
		b/=2;
	}
	return ans;
}

ll fn(ll n, ll r){
	ll num = 1, denom = 1;
	for(int i = n - r  + 1; i <=n;++i){
		num*=i;
		num%=mod;
	}
	for(int i = 1; i<= r;++i){
		denom*=i;
		denom%=mod;
	}
	return (num*(binpow(denom,mod - 2, mod) + mod)%mod;
}



void solve(){
	ll n, a, b;cin>>n>>a>>b;
	cout<<((binpow(2,n,mod) - 1 - fn(n,a) - fn(n, b)) + mod)%mod<<endl;
}
 
int main(){
	
	motherfucker
	ll t = 1;
	if(tests) cin>>t;
	for0(i, t){
		solve();
	}
	return 0;
}


Compiler output:
a.cc: In function 'll fn(ll, ll)':
a.cc:53:59: error: expected ')' before ';' token
   53 |         return (num*(binpow(denom,mod - 2, mod) + mod)%mod;
      |                ~                                          ^
      |                                                           )
Language: C

#include<stdio.h>
#include<math.h>
int main(){
  int n,a,b;
  scanf("%d %d %d",&n,&a,&b);
  
  int i;	//作る花束の本数-i本
  int Combi;
  for(i=1;i<=n;i++){
    if(i==a||i==b)	break;
    else{
    }
  return 0;
}

Compiler output:
main.c: In function 'main':
main.c:14:1: error: expected declaration or statement at end of input
   14 | }
      | ^
Language: C++

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int p = 1e9+7;

ll qpow(ll a,ll b)
{
    ll res = 1 % p;
    while(b)
    {
        if(b & 1)res = res * a % p;
        b >>= 1;
        a = a * a % p;
    }
    return res;
}
ll inv(ll m)
{
    return qpow(m,p-2) %  p ;
}
ll C(ll m,ll n)
{
    if(m > n)return 0;
    ll up(1),down(1);
    for(int i = n - m + 1;i <= n;i++)up = up * i % p;
    for(int i = 1;i <= m;i++)down = down * i  % p;
    return up * inv(down);
}
ll Lucas(ll m,ll n)
{
    if(n == 0)return 1;
    return C(m % p,n % p) * Lucas(m / p,n / p) % p;
}
int main()
{
    int n,a,b;
    cin >> n >> a >> b;
    ll ans = qpow(2,n) - 1 % p;
    ans -= (Lucas(a,n) % p + Lucas(b,n) % p) %p;
    ans = (ans % p + p) %p
    cout << ans % p;

    return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:41:27: error: expected ';' before 'cout'
   41 |     ans = (ans % p + p) %p
      |                           ^
      |                           ;
   42 |     cout << ans % p;
      |     ~~~~
Language: C++

#include <bits/stdc++.h>

using namespace std;

#define MOD 1000000007

typedef long long ll;

ll power(int n) {
  if (n == 0) return 1;
  ll ans = power(n/2);
  if (n % 2) return (((n*ans)%MOD)*ans)%MOD;
  return (ans*ans)%MOD;
}

ll fact(int n) {
  if (n == 0) return 1;
  return (n * fact(n-1))%MOD;
}

int main() {
  int n, a, b;
  ll tot = power(n);
  ll prodA = 1;
  ll prodB = 1;
  for (int i = 0; i < a; ++i) {
    prodA = (prodA * (n - i))%MOD;
  }
  for (int i = 0; i < b; ++i) {
    prodB = (prodB * (n - i))%MOD;
  }
  ll chooseA = prodA / fact(a);
  ll chooseB = probB / fact(b);
  cout << tot - chooseA - chooseB << endl;
  
}

Compiler output:
a.cc: In function 'int main()':
a.cc:33:16: error: 'probB' was not declared in this scope; did you mean 'prodB'?
   33 |   ll chooseB = probB / fact(b);
      |                ^~~~~
      |                prodB
Language: C++

#include <iostream>
#define mod 1000000007
using namespace std;

int binpow(ll a, int u){
	ll res = 1;
  	while(u){
    	if(u & 1){
        	(res *= a) %= mod;
        	u --;
        } else {
        	u >>= 1;
          	(a *= a) %= a;
        }
    }
  	return res;
}

int main(){
	int n, a, b;
  	int m = 1;
  
  	int ans = binpow(2, n) - 1;
    
  	int fac[100001];
  	fac[0] = 1;
  	for(int i = 1; i <= min(n, 100000); i ++)
      fac[i] = (fac[i-1] * i) % mod;
  	
  	for (int i = 1; i <= a; i ++){
    	m = (m * (n - i + 1ll)) % mod;
      	m = (m * binpow(i, mod - 2)) % mod;
    }
	
  	ans -= m;
  	m = 1;
    for (int i = 1; i <= b; i ++){
    	m = (m * (n - i + 1ll)) % mod;
      	m = (m * binpow(i, mod - 2)) % mod;
    }


  
}

Compiler output:
a.cc:5:12: error: 'll' was not declared in this scope
    5 | int binpow(ll a, int u){
      |            ^~
a.cc:5:18: error: expected primary-expression before 'int'
    5 | int binpow(ll a, int u){
      |                  ^~~
a.cc:5:23: error: expression list treated as compound expression in initializer [-fpermissive]
    5 | int binpow(ll a, int u){
      |                       ^
a.cc: In function 'int main()':
a.cc:23:25: error: 'binpow' cannot be used as a function
   23 |         int ans = binpow(2, n) - 1;
      |                   ~~~~~~^~~~~~
a.cc:32:24: error: 'binpow' cannot be used as a function
   32 |         m = (m * binpow(i, mod - 2)) % mod;
      |                  ~~~~~~^~~~~~~~~~~~
a.cc:39:24: error: 'binpow' cannot be used as a function
   39 |         m = (m * binpow(i, mod - 2)) % mod;
      |                  ~~~~~~^~~~~~~~~~~~
Language: C++

#include<bits/stdc++.h>
using namespace std;

int nCr(int n,int r);
int fact(int n);

int nCr(int n, int r)
{
    return fact(n) / (fact(r) * fact(n - r));
}

int fact(int n)
{
    int res = 1;
    for (int i = 2; i <= n; i++)
        res = res * i;
    return res%(pow(10,9) + 7);
}

int main()
{
  int n,a,b;
  cin>>n>>a>>b;
  int sum=0;
int k=nCr(n,a);
  int l=nCr(n,b);
  int ans=pow(2,n) -1 - k -l;
cout<<ans;
  
  return 0;
}



Compiler output:
a.cc: In function 'int fact(int)':
a.cc:17:15: error: invalid operands of types 'int' and '__gnu_cxx::__promote<double>::__type' {aka 'double'} to binary 'operator%'
   17 |     return res%(pow(10,9) + 7);
      |            ~~~^~~~~~~~~~~~~~~~
      |            |              |
      |            int            __gnu_cxx::__promote<double>::__type {aka double}
Language: C++

#include<bits/stdc++.h>
using namespace std;

int nCr(int n,int r);
int fact(int n);

int nCr(int n, int r)
{
    return fact(n) / (fact(r) * fact(n - r));
}

int fact(int n)
{
    int res = 1;
    for (int i = 2; i <= n; i++)
        res = res * i;
    return res;
}

int main()
{
  int n,a,b;
  cin>>n>>a>>b;
  int sum=0;
  for(int i=1;i<=n;i++)
  {
    if(i!=a && i!=b)
    {
      sum+=nCr(n,i);
    }
  }
  cout<<sum%10^9 +7<<endl;

  return 0;
}



Compiler output:
a.cc: In function 'int main()':
a.cc:32:20: error: invalid operands of types 'int' and '<unresolved overloaded function type>' to binary 'operator<<'
   32 |   cout<<sum%10^9 +7<<endl;
      |                ~~~~^~~~~~
Language: C++

#include <bits/stdc++.h>
using namespace std;

const int mod = 1000000007;

long long gyakugen(int n){
    if(n==1)return 1;
    else{
    return (mod - gyakugen(mod%n) * (mod / n) % mod) % mod;
}}
long long fgyaku(int n){
    if(n==1 || n==0)return 1;
    else{
    return fgyaku(n-1)*gyakugen(n) % mod;
}}

int main(){
 int i;
 int n;
 int a;
 int b;
 long long int fn = 1;
 long long int re = 1;
 cin >> n >> a >> b;
 for(i=1;i<n+1;i++){
     fn *= 2;
     fn /= mod;
     re *= i;
     re /= mod;
 }
 long long int ans = fe;
 ans -= ((re*fgyaku(n-a))%mod)*fgyaku(a)%mod;
 ans -= ((re*fgyaku(n-b))%mod)*fgyaku(b)%mod;
 cout << ans;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:31:22: error: 'fe' was not declared in this scope; did you mean 're'?
   31 |  long long int ans = fe;
      |                      ^~
      |                      re
Language: C++

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;
using LLint = long long int;

LLint re_pow(LLint j,LLint k,LLint l){
	//j^k  %lを求める
	if (k==0) return 1%l;
	else if (k%2==0){
		LLint t=re_pow(j,k/2,l);
		return t*t%l;
	}
	if (k%2==1){
		return j%l*re_pow(j,k-1,l)%l;
	}
}

const int mod = pow(10,9) +7;
int main(){
	LLint n,a,b;
	cin>>n>>a>>b;
	
	LLint all=re_pow(2,n,mod);
	LLint acou=1,bcou=1;
	
	for(int i=n;i>=n-a+1;--i){
		acou=acou*(i%mod)%mod;
	}
	for(int i=1;i<=a;++i){
		acou=acou*re_pow(i,mod-2,mod)%mod;
	}
	
	for(int i=n;i>=n-b+1;--i){
		bcou=bcou*(i%mod)%mod;
	}
	for(int i=1;i<=b;++i){
		bcou=bcou*re_pow(i,mod-2,mod)%mod;
	}
	cout<<acou<<" "<<bcou<<" "<<all<<endl;
	
	cout<< (all-1-bcou-acou)%mod;
	return 0;
	
}


Compiler output:
a.cc:20:17: error: 'pow' was not declared in this scope
   20 | const int mod = pow(10,9) +7;
      |                 ^~~
a.cc: In function 'LLint re_pow(LLint, LLint, LLint)':
a.cc:18:1: warning: control reaches end of non-void function [-Wreturn-type]
   18 | }
      | ^
Language: C

#include<iostream>

long long modinv(long long a, long long n);
int mod_num = 1000000007;

int main(){
    int n, a, b;
    std::cin >> n >> a >> b;
    
    long long combin_num = 1;
    int mask = 1;
    long long n_2 = 2;
    for(int i=0; i<31; i++){
        if(n & mask){
            combin_num = combin_num * n_2 % mod_num;
        }
        mask *= 2;
        n_2 = n_2 * n_2 % mod_num;
    }
    
    combin_num = (combin_num - 1) % mod_num;
    if(combin_num < 0){ combin_num += mod_num;}
    
    long long combin_tmp = 1;
    int a_r = a <= n / 2 ? a : n - a;
    for(int i=n; i>n-a_r; i--){
        combin_tmp = combin_tmp * i % mod_num;
    }
    for(int i=2; i<=a_r; i++){
        combin_tmp = combin_tmp * modinv(i, mod_num) % mod_num;
    }
    combin_num = (combin_num - combin_tmp) % mod_num;
    if(combin_num < 0){ combin_num += mod_num;}
    
    combin_tmp = 1;
    int b_r = b <= n / 2 ? b : n - b;
    for(int i=n; i>n-b_r; i--){
        combin_tmp = combin_tmp * i % mod_num;
    }
    for(int i=2; i<=b_r; i++){
        combin_tmp = combin_tmp * modinv(i, mod_num) % mod_num;
    }
    combin_num = (combin_num - combin_tmp) % mod_num;
    if(combin_num < 0){ combin_num += mod_num;}
    
    std::cout << combin_num << std::endl;
    return 0;
}

long long modinv(long long a, long long n){
    long long b = n, u = 1, v = 0;
    while (b) {
        long long t = a / b;
        a -= t * b; std::swap(a, b);
        u -= t * v; std::swap(u, v);
    }
    u %= n; 
    if (u < 0) u += n;
    return u;
}


Compiler output:
main.c:1:9: fatal error: iostream: No such file or directory
    1 | #include<iostream>
      |         ^~~~~~~~~~
compilation terminated.
Language: C++

#include <bits/stdc++.h>
#include <boost/multiprecision/integer.hpp>
#include <boost/integer/mod_inverse.hpp>
#define rep(i, n) for (int i = 0; i < (n);++i)
typedef long long ll;
using namespace std;

const ll MOD=1e9+7;

ll mod_pow(ll x, ll n, ll mod){
  ll res=1;
  while(n>0){
    if(n&1)res=res*x%mod;
    x=x*x%mod;
    n>>=1;
  }
  return res;
}

ll choose(ll n, ll a){
  ll x=1,y=1;
  rep(i,a){
    x*=n-i;
    x%=MOD;
    y*=i+1;
    y%=MOD;
  }
  ll y_inv = boost::integer::mod_inverse(y, MOD);
  return x * y_inv % MOD;
}

int main(){
  ll n, a, b;
  cin>>n>>a>>b;
  ll ans=mod_pow(2,n,MOD);
  //cout << ans << endl;
  ans -= 1;
  ll na=choose(n,a);
  ll nb=choose(n,b);
  cout << ans - na - nb << endl;
  return 0;
}

Compiler output:
a.cc:2:10: fatal error: boost/multiprecision/integer.hpp: No such file or directory
    2 | #include <boost/multiprecision/integer.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Language: C++

#include<bits/stdc++.h>
using namespace std;
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
using ll = long long int;
#define MOD 1000000000 + 7

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

ll modinv(ll a, ll mod){
    return modpow(a, mod - 2, mod);
}

ll nCr(ll  n, ll r, ll mod){
    ll y = 1; //分子
    ll x = 1; //分母
    rep(i,r){
        y = y * (n - i) % mod;
        x = x * (i + 1) % mod;
    }
    x = modinv(x, mod);
    return y * x % mod;
}

int main(){
    ll n, a, b;
    cin >> n >> a >> b;

    ll ans = modpow(2, n, MOD);
    ans -= 1;

    ll nCa = nCr(n,a,MOD);
    ll nCb = nCr(n,b,MOD);

    ans = ans - nCa - nCb;
    if(ans < 0) ans += MOD;
    
    cout << ans << endl;

    

Compiler output:
a.cc: In function 'int main()':
a.cc:47:25: error: expected '}' at end of input
   47 |     cout << ans << endl;
      |                         ^
a.cc:34:11: note: to match this '{'
   34 | int main(){
      |           ^
Language: C++

#include<bits/stdc++.h>
#define rep(i,n)for(int i=0;i<n;++i)
#include<string>
using namespace std;
typedef long long ll;
typedef pair<int, int>P;
//max=({});
//条件式が真ならwhileの中身を回し続ける
//printf("%d\n", ans);


int g[15][15];
const int INF = 1001001001;
const int dx[4] = { -1,0,1,0 };
const int dy[4] = { 0,-1,0,1 };

//最大公約数
ll gcd(ll x, ll y) {
	return y ? gcd(y, x % y) : x;
}

//素因数分解
vector<pair<ll, int>>factorize(ll n) {
	vector<pair<ll, int>>res;
	for (ll i = 2;i * i <= n;++i) {
		if (n % i)continue;
		res.emplace_back(i, 0);
		while (n % i == 0) {
			n /= i;
			res.back().second++;
		}
	}
	if (n != 1)res.emplace_back(n, 1);
	return res;
}

ll f(int n) {
	if (n == 0)return 1;
	ll x = f(n / 2);
	x *= x;
	if (n % 2 == 1)x *= 2;
	return x;
}

ll choose(int n, int a) {
	ll x = 1, y = 1;
	rep(i, a) {
		x *= n - i;
		y *= i + 1;
	}
	return x / y;
}

int main() {
	int n, a, b;
	cin >> n >> a >> b;
	ll ans = f(n);
	ans = -1;
	ans -= choose(n, a);
	ans -= choose(n, b);
	ans = ans % (1e9 + 7);
	cout << ans << endl;
	return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:61:19: error: invalid operands of types 'll' {aka 'long long int'} and 'double' to binary 'operator%'
   61 |         ans = ans % (1e9 + 7);
      |               ~~~ ^ ~~~~~~~~~
      |               |          |
      |               |          double
      |               ll {aka long long int}
Language: C++

#include<bits/stdc++.h>
#define rep(i,n)for(int i=0;i<n;++i)
#include<string>
using namespace std;
typedef long long ll;
typedef pair<int, int>P;
//max=({});
//条件式が真ならwhileの中身を回し続ける
//printf("%d\n", ans);


int g[15][15];
const int INF = 1001001001;
const int dx[4] = { -1,0,1,0 };
const int dy[4] = { 0,-1,0,1 };

//最大公約数
ll gcd(ll x, ll y) {
	return y ? gcd(y, x % y) : x;
}

//素因数分解
vector<pair<ll, int>>factorize(ll n) {
	vector<pair<ll, int>>res;
	for (ll i = 2;i * i <= n;++i) {
		if (n % i)continue;
		res.emplace_back(i, 0);
		while (n % i == 0) {
			n /= i;
			res.back().second++;
		}
	}
	if (n != 1)res.emplace_back(n, 1);
	return res;
}

ll f(int n) {
	if (n == 0)return 1;
	mint x = f(n / 2);
	x *= x;
	if (n % 2 == 1)x *= 2;
	return x;
}

ll choose(int n, int a) {
	ll x = 1, y = 1;
	rep(i, a) {
		x *= n - i;
		y *= i + 1;
	}
	return x / y;
}

int main() {
	int n, a, b;
	cin >> n >> a >> b;
	ll ans = f(n);
	ans = -1;
	ans -= choose(n, a);
	ans -= choose(n, b);
	ans = ans % (1e9 + 7);
	cout << ans << endl;
	return 0;
}


Compiler output:
a.cc: In function 'll f(int)':
a.cc:39:9: error: 'mint' was not declared in this scope; did you mean 'uint'?
   39 |         mint x = f(n / 2);
      |         ^~~~
      |         uint
a.cc:40:9: error: 'x' was not declared in this scope
   40 |         x *= x;
      |         ^
a.cc: In function 'int main()':
a.cc:61:19: error: invalid operands of types 'll' {aka 'long long int'} and 'double' to binary 'operator%'
   61 |         ans = ans % (1e9 + 7);
      |               ~~~ ^ ~~~~~~~~~
      |               |          |
      |               |          double
      |               ll {aka long long int}
Language: C++

  mint f(int n){
    if(n == 0 ) return 1 ;//0乗なら1
    mint x = f(x,n/2);
    x *= x; //f(N) =f(N/2)^2のに置き換えることが可能。これを再起的に繰り返す
    if(n%2 == 1)x *= 2; //nが奇数のときはn倍する
    return x;
  }

  mint choose(int n , int a){

    mint x =1 ;//分子
    mint y =1;//分母
    rep(i,a){
      x *= n-i;//分子を(n*n-1*...n-(a-1))になるように
      y *= i+1; //分母をa!になるように
    }
    return　x / y;
  }

Compiler output:
a.cc:17:5: error: extended character 　 is not valid in an identifier
   17 |     return　x / y;
      |     ^
a.cc:1:3: error: 'mint' does not name a type; did you mean 'int'?
    1 |   mint f(int n){
      |   ^~~~
      |   int
a.cc:9:3: error: 'mint' does not name a type; did you mean 'int'?
    9 |   mint choose(int n , int a){
      |   ^~~~
      |   int
Language: C++

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
const ll mod = 1e9+7;

ll modulo(ll a, ll b){
  ll res = 1;
  while(b>0){
    if(b&1){
      res*=a;
      res%=mod;
    }
    a*=a;
    b/=2;
  }
  return res;
}

ll inversemod(int a){
  return modulo(a,mod-2);
}

ll comb(ll n, ll a){
  ll num = 1, den = 1;
  for(ll i=0;i<a;i++){
    num*=(n-i);
    num%=mod;
  }
  for(ll i=1;i<=a;i++){
    den*=i;
    den%=mod;
  }
  return num*inversemod(den)%mod;
}


int main(){
  ll n,a,b;
  cin >> n >> a >> b;
  int res = modulo(2,n,mod)-1;
  res -= comb(n,a);
  res %= mod;
  res -= comb(n,b);
  res %= mod;
  res += mod;
  res %= mod;
  cout<<res<<endl;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:40:19: error: too many arguments to function 'long long int modulo(long long int, long long int)'
   40 |   int res = modulo(2,n,mod)-1;
      |             ~~~~~~^~~~~~~~~
a.cc:6:4: note: declared here
    6 | ll modulo(ll a, ll b){
      |    ^~~~~~
Language: C++

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
const ll mod = 1e9+7;

ll modulo(ll a, ll b){
  ll res = 1;
  while(b>0){
    if(b&1){
      res*=a;
      res%=mod;
    }
    a*=a;
    b/=2;
  }
  return res;
}

ll inversemod(int a){
  return modulo(a,mod-2,mod);
}

ll comb(ll n, ll a){
  ll num = 1, den = 1;
  for(ll i=0;i<a;i++){
    num*=(n-i);
    num%=mod;
  }
  for(ll i=1;i<=a;i++){
    den*=i;
    den%=mod;
  }
  return num*inversemod(den)%mod;
}


int main(){
  ll n,a,b;
  cin >> n >> a >> b;
  int res = modulo(2,n,mod)-1;
  res -= comb(n,a);
  res %= mod;
  res -= comb(n,b);
  res %= mod;
  res += mod;
  res %= mod;
  cout<<res<<endl;
}


Compiler output:
a.cc: In function 'long long int inversemod(int)':
a.cc:20:16: error: too many arguments to function 'long long int modulo(long long int, long long int)'
   20 |   return modulo(a,mod-2,mod);
      |          ~~~~~~^~~~~~~~~~~~~
a.cc:6:4: note: declared here
    6 | ll modulo(ll a, ll b){
      |    ^~~~~~
a.cc: In function 'int main()':
a.cc:40:19: error: too many arguments to function 'long long int modulo(long long int, long long int)'
   40 |   int res = modulo(2,n,mod)-1;
      |             ~~~~~~^~~~~~~~~
a.cc:6:4: note: declared here
    6 | ll modulo(ll a, ll b){
      |    ^~~~~~
Language: C++

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
const ll mod = 1e9+7;

ll modulo(ll a, ll b){
  ll res = 1;
  while(b>0){
    if(b&1){
      res*=a;
      res%=c;
    }
    a*=a;
    b/=2;
  }
  return res;
}

ll inversemod(int a){
  return modulo(a,mod-2,mod);
}

ll comb(ll n, ll a){
  ll num = 1, den = 1;
  for(ll i=0;i<a;i++){
    num*=(n-i);
    num%=mod;
  }
  for(ll i=1;i<=a;i++){
    den*=i;
    den%=mod;
  }
  return num*inversemod(den)%mod;
}


int main(){
  ll n,a,b;
  cin >> n >> a >> b;
  int res = modulo(2,n,mod)-1;
  res -= comb(n,a);
  res %= mod;
  res -= comb(n,b);
  res %= mod;
  res += mod;
  res %= mod;
  cout<<res<<endl;
}


Compiler output:
a.cc: In function 'long long int modulo(long long int, long long int)':
a.cc:11:12: error: 'c' was not declared in this scope
   11 |       res%=c;
      |            ^
a.cc: In function 'long long int inversemod(int)':
a.cc:20:16: error: too many arguments to function 'long long int modulo(long long int, long long int)'
   20 |   return modulo(a,mod-2,mod);
      |          ~~~~~~^~~~~~~~~~~~~
a.cc:6:4: note: declared here
    6 | ll modulo(ll a, ll b){
      |    ^~~~~~
a.cc: In function 'int main()':
a.cc:40:19: error: too many arguments to function 'long long int modulo(long long int, long long int)'
   40 |   int res = modulo(2,n,mod)-1;
      |             ~~~~~~^~~~~~~~~
a.cc:6:4: note: declared here
    6 | ll modulo(ll a, ll b){
      |    ^~~~~~
Language: C++

#include <bits/stdc++.h>
using namespace std;
#define lli long long int
#define rep(i, n) for (int i = 0;i < (int)(n);i++)
#define rep2(i, s, n) for (int i = s; i < (int)(n);i++)
#define ALL(vec)  (vec).begin(),(vec).end()
#define pi 3.1415926535897932384626433832795
#define MAX_INF 9223372036854775807
#define MIN_INF 9223372036854775807+1

lli RepeatSquaring(lli N, lli P, lli M){
    if(P==0) return 1;
    if(P%2==0){
        lli t = RepeatSquaring(N, P/2, M);
        return t*t % M;
    }
    return N * RepeatSquaring(N, P-1, M);
}//繰り返し二乗法

lli Inverse_b(lli b, lli m) {
    lli a = m, u = 1, v = 0;
    while (a) {
        lli t = b / a;
        b -= t * a; swap(a, b);
        u -= t * v; swap(u, v);
    }
    u %= m; 
    if (u < 0) u += m;
    return u;
}//非再帰拡張 Euclid の互除法を用いた逆元

lli kaijo(lli n,lli end){
  rep(i, end-1){
  n*=n-i-1;
    n%=sosuu;
  }
  return n;
}

int main() {
  lli N,a,b;
  cin >> N >> a >> b;
  N=RepeatSquaring(lli 2, N, sosuu);
  cout << N-kaijo(N,a)*Inverse_b(a,sosuu)%sosuu-kaijo(N,b)*Inverse_b(b,sosuu)%sosuu<<endl;
}



Compiler output:
a.cc: In function 'long long int kaijo(long long int, long long int)':
a.cc:35:8: error: 'sosuu' was not declared in this scope
   35 |     n%=sosuu;
      |        ^~~~~
a.cc: In function 'int main()':
a.cc:3:13: error: expected primary-expression before 'long'
    3 | #define lli long long int
      |             ^~~~
a.cc:43:20: note: in expansion of macro 'lli'
   43 |   N=RepeatSquaring(lli 2, N, sosuu);
      |                    ^~~
a.cc:43:30: error: 'sosuu' was not declared in this scope
   43 |   N=RepeatSquaring(lli 2, N, sosuu);
      |                              ^~~~~
Language: C++

#include <bits/stdc++.h>
using namespace std;

long long int Fac(long long int N, long long int MOD);
long long int Exp(long long int N, long long int x, long long int MOD);
long long int comb(long long int n, long long int r, long long int MOD);
const int MOD = 1000000007;

int main()
{
    long long int n, a, b, ans;
    cin >> n >> a >> b;
    ans = Exp(n, 2, MOD) - comb(n, a, MOD) - comb(n, b, MOD) - 1;
    if (ans < 0)
    {
        ans = ans + MOD;
    }
    else if (n == 2 && a == 1 && b == 2)
    {
        ans = 0;
    }
}
cout << ans << endl;
}

long long int Fac(long long int N, long long int MOD)
{
    if (N == 0)
    {
        return 1;
    }
    else
    {
        return (N * Fac(N - 1, MOD)) % MOD;
    }
}

long long int Exp(long long int N, long long int x, long long int MOD)
{
    if (N == 0)
    {
        return 1;
    }
    else if (N % 2 == 0)
    {
        return (Exp(N / 2, x, MOD) * Exp(N / 2, x, MOD)) % MOD;
    }
    else
    {
        return (x * Exp(N - 1, x, MOD)) % MOD;
    }
}

long long int comb(long long int n, long long int r, long long int MOD)
{
    long long int A = Fac(r, MOD);
    long long int B = 1;
    for (int i = 1; i <= r; i++)
    {
        B = (B * (n - i + 1)) % MOD;
    }
    return (B * Exp(MOD - 2, A, MOD)) % MOD;
}

Compiler output:
a.cc:23:1: error: 'cout' does not name a type
   23 | cout << ans << endl;
      | ^~~~
a.cc:24:1: error: expected declaration before '}' token
   24 | }
      | ^
Language: C++

#include <bits/stdc++.h>
using namespace std;

long long int Fac(long long int N, long long int MOD);
long long int Exp(long long int N, long long int x, long long int MOD);
long long int comb(long long int n, long long int r, long long int MOD);
const int MOD = 1000000007;

int main()
{
    long long int n, a, b, ans;
    cin >> n >> a >> b;
    ans = Exp(n, 2, MOD) - comb(n, a, MOD) - comb(n, b, MOD) - 1;
    if (ans < 0)
    {
        ans = ans + MOD;
    }
    else
    {
        (n == 2 && a == 1 && b == 2)
        {
            ans = 0;
        }
    }
    cout << ans << endl;
}

long long int Fac(long long int N, long long int MOD)
{
    if (N == 0)
    {
        return 1;
    }
    else
    {
        return (N * Fac(N - 1, MOD)) % MOD;
    }
}

long long int Exp(long long int N, long long int x, long long int MOD)
{
    if (N == 0)
    {
        return 1;
    }
    else if (N % 2 == 0)
    {
        return (Exp(N / 2, x, MOD) * Exp(N / 2, x, MOD)) % MOD;
    }
    else
    {
        return (x * Exp(N - 1, x, MOD)) % MOD;
    }
}

long long int comb(long long int n, long long int r, long long int MOD)
{
    long long int A = Fac(r, MOD);
    long long int B = 1;
    for (int i = 1; i <= r; i++)
    {
        B = (B * (n - i + 1)) % MOD;
    }
    return (B * Exp(MOD - 2, A, MOD)) % MOD;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:20:37: error: expected ';' before '{' token
   20 |         (n == 2 && a == 1 && b == 2)
      |                                     ^
      |                                     ;
   21 |         {
      |         ~
Language: C++

#include <bits/stdc++.h>
#define rep(i, n) for (ll i = 0; i < n; i++)
#define FOR(i, m, n) for(ll i = m;i < n;i++)
#define VSORT(v) sort(v.begin(), v.end());
#define VREV(v) reverse(v.begin(), v.end());
using namespace std;
using ll = long long;
using pll = pair<ll,ll>;
using vll = vector<ll>;
using vdouble = vector<double>;
using vstr = vector<string>;
typedef pair<int,int> P;
int dx[4] = {1, 0, -1, 0},dy[4] = {0, 1, 0, -1};
ll gcd(ll a, ll b) { return b?gcd(b,a%b):a;}
ll lcm(ll a, ll b) { return a/gcd(a,b)*b;}
template<class T> inline bool chmax(T& a, T b){if(a<b) {a=b; return 1;} return 0; }
template<class T> inline bool chmin(T& a, T b){if(a>b) {a=b; return 1;} return 0; }
const ll INF = 1LL << 60;
const ll mod = 1000000007;

int main(){
	//乱数srand((unsigned)time(NULL));
	ll n,a,b; cin>>n>>a>>b;
	
	ll ans=0;
	rep(i,n){
        if(i+1==a||i+1==b) continue;
		ans+=comb(n,(i+1));
		ans%=mod;
	}
	
	cout<<ans<<endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:28:22: error: 'comb' was not declared in this scope; did you mean 'wctomb'?
   28 |                 ans+=comb(n,(i+1));
      |                      ^~~~
      |                      wctomb
Language: C

include <stdio.h>

long long mpow(long long a, int n, int mod)
{
	long long res = 1;
	while (n > 0) {
		if(n & 1) res = res * a % mod;
		a = a * a % mod;
		n >>= 1;
	}
	return res;
}

int minv(int a, int mod)
{
	return mpow(a, mod-2, mod);
}

int main(void)
{
	int n, a, b, mod = 1000000007;
	long long mfact[200001];
	long long nPr[200001];
	
	scanf("%d%d%d", &n, &a, &b);
	
	mfact[0] = 1; nPr[0] = 1;
	for (int i = 1; i <= 200000; i++) {
		mfact[i] = mfact[i-1] * i % mod;
		nPr[i] = nPr[i-1] * (n-i+1) % mod;
	}
	
	long long ans = mpow(2, n, mod) - 1;
	
	ans = (ans - nPr[a] * minv(mfact[a], mod) % mod + mod) % mod;
	
	ans = (ans - nPr[b] * minv(mfact[b], mod) % mod + mod) % mod;
	
	printf("%ld", ans);
	
	return 0;
}


Compiler output:
main.c:1:9: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
    1 | include <stdio.h>
      |         ^
main.c: In function 'minv':
main.c:16:16: error: implicit declaration of function 'mpow' [-Wimplicit-function-declaration]
   16 |         return mpow(a, mod-2, mod);
      |                ^~~~
main.c: In function 'main':
main.c:25:9: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
   25 |         scanf("%d%d%d", &n, &a, &b);
      |         ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | include <stdio.h>
main.c:25:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
   25 |         scanf("%d%d%d", &n, &a, &b);
      |         ^~~~~
main.c:25:9: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:39:9: error: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
   39 |         printf("%ld", ans);
      |         ^~~~~~
main.c:39:9: note: include '<stdio.h>' or provide a declaration of 'printf'
main.c:39:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
main.c:39:9: note: include '<stdio.h>' or provide a declaration of 'printf'