Language: C++

#include<bits/stdc++.h>

using namespace std;
// #define DEBUG
// #define TIME
/*
Learn : -
Problem Type : -
Source : -
*/
#pragma GCC optimize ("Ofast")
#define sint( a ) int a; qread(a);
#define sint2( a, b ) int a,b; qread(a),qread(b);
#define sint3( a, b, c ) int a,b,c; qread(a),qread(b),qread(c);
#define int1( a ) qread(a);
#define int2( a, b ) qread(a),qread(b);
#define int3( a, b, c ) qread(a),qread(b),qread(c);
#define mkp make_pair
#define mkt make_tuple
#define pb emplace_back
#define inf INT_MAX
#define all( x ) (x).begin(),(x).end()
#define F first
#define S second
#define sdouble( a ) double a; scanf("%lf",&a);
#define slong( a ) long long a; scanf("%lld",&a);
#define cstring( a, x ) char a[x]; scanf("%s",a);
#define sstring( a ) string a;cin>>a;
#define rev( s ) reverse(all(s));
#define FOR( a, b, c ) for(int a=b;a<c;a++)
#define ROF( a, b, c ) for(int a=b;a>c;a--)
#define pause system("pause")
#define endl printf("\n")
#define fastio {ios::sync_with_stdio(false);cin.tie(NULL);}
#define null NULL
#ifdef DEBUG
#define debug(x) cout<< #x << " = " << x;endl;
#else
#define debug( x )
#endif
#define OPEN freopen("input.txt","r",stdin)
#define SEND freopen("output.txt","w",stdout)
#ifdef COM
#define IN(x)
#define OUT(x)
#else
#define IN( x ) freopen(x,"r",stdin);
#define OUT( x ) freopen(x,"w",stdout);
#endif
typedef pair<int, int> ii;
typedef vector<int> vi;
typedef vector <ii> vii;
typedef long long ll;

void qread( int &x )
{
	int neg = 1;
	x = 0;
	register char c = getchar();
	while(c < '0' || c > '9')
	{
		if(c == '-')neg = -1;
		c = getchar();
	}
	while(c >= '0' && c <= '9')x = 10 * x + c - '0', c = getchar();
	x *= neg;
}

void Wl( int x )
{
	printf("%d\n", x);
}

void Wl( double x )
{
	printf("%lf\n", x);
}

void Wl( string x )
{
	printf("%s\n", x.c_str());
}

void Wl( ll x )
{
	printf("%lld\n", x);
}

void W( int x )
{
	printf("%d ", x);
}

void W( double x )
{
	printf("%lf ", x);
}

void W( string x )
{
	printf("%s ", x.c_str());
}

void W( ll x )
{
	printf("%lld ", x);
}
ll a[5];
int main()
{
    int3(a[0],a[1],a[2]);
    for(int i=0;i<3;i++)
        if(a[i]%2==0)
        {
            printf("0\n");
            return 0;
        }
    printf("%lld\n",min(a[0]*a[1],min(a[0]*a[2],a[1]*a[2])));
}


Compiler output:
a.cc: In function 'void qread(int&)':
a.cc:59:23: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   59 |         register char c = getchar();
      |                       ^
a.cc: In function 'int main()':
a.cc:111:13: error: cannot bind non-const lvalue reference of type 'int&' to a value of type 'll' {aka 'long long int'}
  111 |     int3(a[0],a[1],a[2]);
      |          ~~~^
a.cc:17:31: note: in definition of macro 'int3'
   17 | #define int3( a, b, c ) qread(a),qread(b),qread(c);
      |                               ^
a.cc:55:18: note:   initializing argument 1 of 'void qread(int&)'
   55 | void qread( int &x )
      |             ~~~~~^
a.cc:111:18: error: cannot bind non-const lvalue reference of type 'int&' to a value of type 'll' {aka 'long long int'}
  111 |     int3(a[0],a[1],a[2]);
      |               ~~~^
a.cc:17:40: note: in definition of macro 'int3'
   17 | #define int3( a, b, c ) qread(a),qread(b),qread(c);
      |                                        ^
a.cc:55:18: note:   initializing argument 1 of 'void qread(int&)'
   55 | void qread( int &x )
      |             ~~~~~^
a.cc:111:23: error: cannot bind non-const lvalue reference of type 'int&' to a value of type 'll' {aka 'long long int'}
  111 |     int3(a[0],a[1],a[2]);
      |                    ~~~^
a.cc:17:49: note: in definition of macro 'int3'
   17 | #define int3( a, b, c ) qread(a),qread(b),qread(c);
      |                                                 ^
a.cc:55:18: note:   initializing argument 1 of 'void qread(int&)'
   55 | void qread( int &x )
      |             ~~~~~^