#include using namespace std; #include using namespace atcoder; #define rep(i, n) for (int i = 0; i < (long long)(n); i++) #define REP(i, n) for (int i = 1; i < (long long)(n); i++) typedef long long ll; //#pragma GCC target("avx512f") //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") #define updiv(N,X) (N + X - 1) / X #define l(n) n.begin(),n.end() #define YesNo(Q) Q==1?cout<<"Yes":cout<<"No" using P = pair; using mint = modint998244353; const int MOD = 998244353LL; const ll INF = 999999999999LL; ll dvt(ll a,ll b){ ll res=0;ll aa=a; while(b<=aa){aa /= 2;res++;} return res; } int main() { ll a,b,c;cin>>a>>b>>c; if(a%2==1){cout << min({(-1)*(a-1)*b-c,(a-1)*b-a*c,(-1)*(a-1)*b-c}) << endl;} else{cout << min({(-1)*(a)*b,(a-1)*b-a*c}) << endl;} }