Language: C++

#define REP(i,n) for(int i=0;i<(n);++i)
#define REPR(i,n) for(int i=n;i>=0;i--)
 
#define FOREACH(x,a) for(auto& (x) : (a) )
 
#define WFA(d,v) REP(k,v)REP(i,v)REP(j,v)d[i][j]=min(d[i][j],d[i][k]+d[k][j])
 
#define SCOUT(x) cout<<(x)<<" "
#define ENDL cout<<endl
 
#define VECCIN(x) for(auto&youso_: (x) )cin>>youso_
#define VECIN2(x,y) REP(i,x.size())cin>>x[i]>>y[i]
#define VECCOUT(x) for(auto&youso_: (x) )cout<<youso_<<" ";cout<<endl
 
#define ALL(obj) (obj).begin(),(obj).end()
 
#define EXIST(n,x) (find(ALL(n),x)!=n.end())
#define UNIQUE(obj) sort(ALL( obj )); obj.erase(unique(ALL(obj)),obj.end())
#define COUT(x) cout<<(x)<<endl
void CINT(){}
template <class Head,class... Tail>
void CINT(Head&& head,Tail&&... tail){
    cin>>head;
    CINT(move(tail)...);
}
#define CIN(...) int __VA_ARGS__;CINT(__VA_ARGS__)
#define SCIN(...) string __VA_ARGS__;CINT(__VA_ARGS__)
 
// #include <boost/multiprecision/cpp_int.hpp>
// using namespace boost::multiprecision; // cpp_int
 
#define P pair<int,int>
#define V vector<int>
#define M map<int,int>
#define S set<int>
#define L list<int>
 
#define pb(a) push_back(a)
#define mp make_pair
 
ll Kai(ll t){
  int tt=1;
  FOR(i,2,t+1)tt*=i;
  return tt;
}
int main(){

  CIN(n,p);V a(n);VECCIN(a);
  V cou(2,0);REP(i,n)(a[i]%2==1?cou[1]:cou[0])++;
  if(cou[1]==0){
    COUT(p==0?1LL<<n:0);
    return 0;
  }
  COUT(1LL<<(n - 1));
  return 0;
}


Compiler output:
a.cc: In function 'void CINT(Head&&, Tail&& ...)':
a.cc:23:5: error: 'cin' was not declared in this scope
   23 |     cin>>head;
      |     ^~~
a.cc: At global scope:
a.cc:41:1: error: 'll' does not name a type
   41 | ll Kai(ll t){
      | ^~
a.cc: In function 'int main()':
a.cc:33:11: error: 'vector' was not declared in this scope
   33 | #define V vector<int>
      |           ^~~~~~
a.cc:48:12: note: in expansion of macro 'V'
   48 |   CIN(n,p);V a(n);VECCIN(a);
      |            ^
a.cc:33:18: error: expected primary-expression before 'int'
   33 | #define V vector<int>
      |                  ^~~
a.cc:48:12: note: in expansion of macro 'V'
   48 |   CIN(n,p);V a(n);VECCIN(a);
      |            ^
a.cc:48:26: error: 'a' was not declared in this scope
   48 |   CIN(n,p);V a(n);VECCIN(a);
      |                          ^
a.cc:11:37: note: in definition of macro 'VECCIN'
   11 | #define VECCIN(x) for(auto&youso_: (x) )cin>>youso_
      |                                     ^
a.cc:11:41: error: 'cin' was not declared in this scope
   11 | #define VECCIN(x) for(auto&youso_: (x) )cin>>youso_
      |                                         ^~~
a.cc:48:19: note: in expansion of macro 'VECCIN'
   48 |   CIN(n,p);V a(n);VECCIN(a);
      |                   ^~~~~~
a.cc:33:18: error: expected primary-expression before 'int'
   33 | #define V vector<int>
      |                  ^~~
a.cc:49:3: note: in expansion of macro 'V'
   49 |   V cou(2,0);REP(i,n)(a[i]%2==1?cou[1]:cou[0])++;
      |   ^
a.cc:49:23: error: 'a' was not declared in this scope
   49 |   V cou(2,0);REP(i,n)(a[i]%2==1?cou[1]:cou[0])++;
      |                       ^
a.cc:49:33: error: 'cou' was not declared in this scope
   49 |   V cou(2,0);REP(i,n)(a[i]%2==1?cou[1]:cou[0])++;
      |                                 ^~~
a.cc:50:6: error: 'cou' was not declared in this scope
   50 |   if(cou[1]==0){
      |      ^~~
a.cc:19:17: error: 'cout' was not declared in this scope
   19 | #define COUT(x) cout<<(x)<<endl
      |                 ^~~~
a.cc:51:5: note: in expansion of macro 'COUT'
   51 |     COUT(p==0?1LL<<n:0);
      |     ^~~~
a.cc:19:28: error: 'endl' was not declared in this scope
   19 | #define COUT(x) cout<<(x)<<endl
      |                            ^~~~
a.cc:51:5: note: in expansion of macro 'COUT'
   51 |     COUT(p==0?1LL<<n:0);
      |     ^~~~
a.cc:19:17: error: 'cout' was not declared in this scope
   19 | #define COUT(x) cout<<(x)<<endl
      |                 ^~~~
a.cc:54:3: note: in expansion of macro 'COUT'
   54 |   COUT(1LL<<(n - 1));
      |   ^~~~
a.cc:19:28: error: 'endl' was not declared in this scope
   19 | #define COUT(x) cout<<(x)<<endl
      |                            ^~~~
a.cc:54:3: note: in expansion of macro 'COUT'
   54 |   COUT(1LL<<(n - 1));
      |   ^~~~
a.cc: In instantiation of 'void CINT(Head&&, Tail&& ...) [with Head = int&; Tail = {int&}]':
a.cc:48:3:   required from here
   26 | #define CIN(...) int __VA_ARGS__;CINT(__VA_ARGS__)
      |                                  ~~~~^~~~~~~~~~~~~
a.cc:24:14: error: 'move' was not declared in this scope
   24 |     CINT(move(tail)...);
      |          ~~~~^~~~~~