A tennis tournament with n participants is running. The participants are playing by an olympic system, so the winners move on and the losers drop out.

The tournament takes place in the following way (below, m is the number of the participants of the current round):

  * let k be the maximal power of the number 2 such that k ≤ m, 
  * k participants compete in the current round and a half of them passes to the next round, the other m - k participants pass to the next round directly, 
  * when only one participant remains, the tournament finishes. 



Each match requires b bottles of water for each participant and one bottle for the judge. Besides p towels are given to each participant for the whole tournament.

Find the number of bottles and towels needed for the tournament.

Note that it's a tennis tournament so in each match two participants compete (one of them will win and the other will lose).

Input

The only line contains three integers n, b, p (1 ≤ n, b, p ≤ 500) — the number of participants and the parameters described in the problem statement.

Output

Print two integers x and y — the number of bottles and towels need for the tournament.

Examples

Input

5 2 3


Output

20 15


Input

8 2 4


Output

35 32

Note

In the first example will be three rounds:

  1. in the first round will be two matches and for each match 5 bottles of water are needed (two for each of the participants and one for the judge), 
  2. in the second round will be only one match, so we need another 5 bottles of water, 
  3. in the third round will also be only one match, so we need another 5 bottles of water. 



So in total we need 20 bottles of water.

In the second example no participant will move on to some round directly.
#include <bits/stdc++.h>
using namespace std;
long long bp(long long a, long long b, long long mod = LONG_LONG_MAX) {
  a %= mod;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res *= a % mod;
    a *= a % mod;
    b /= 2;
  }
  return res;
}
const long long MOD = 1e9 + 7;
vector<int> primes;
void sieve() {
  int n = 10000;
  vector<bool> is_prime(n + 5, true);
  is_prime[0] = is_prime[1] = false;
  for (int i = 2; i * i <= n; i++) {
    if (is_prime[i]) {
      for (int j = i * i; j <= n; j += i) {
        is_prime[j] = false;
      }
    }
  }
  for (int i = 2; i <= n; i++) {
    if (is_prime[i]) primes.push_back(i);
  }
}
void solve() {
  int n, b, p;
  cin >> n >> b >> p;
  int temp = n;
  int bottles = 0;
  cin >> n >> b >> p;
  while (n != 1) {
    int pow = 0;
    while ((1 << pow) <= n) pow += 1;
    int val = (1 << (pow - 1));
    bottles += (val)*b + (val / 2);
    n = (n - val) + (val / 2);
  }
  cout << bottles << " " << (temp * p);
}
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  int ttt = 1;
  while (ttt--) {
    solve();
  }
}
