func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int max(long long int x, long long int y) {     if (x > y) return x;     return y;   }   long long int min(long long int x, long long int y) {     if (x < y) return x;     return y;   }   long long int getSum(long long int n) {     int sum;     for (sum = 0; n > 0; sum += n % 10, n /= 10)       ;     return sum;   }   bool isPrime(long long int n) {     if (n <= 1) return false;     if (n <= 3) return true;     if (n % 2 == 0 || n % 3 == 0) return false;     for (int i = 5; i * i <= n; i = i + 6)       if (n % i == 0 || n % (i + 2) == 0) return false;     return true;   }   long long int gcd(long long int a, long long int b) {     if (a == 0) return b;     return gcd(b % a, a);   }   long long int lcm(long long int a, long long int b) {     return (a * b) / gcd(a, b);   }   long long int two(long long int a, long long int b, long long int c) {     long long int temp = 0;     if (a % 2 == 1) temp++;     if (b % 2 == 1) temp++;     if (c % 2 == 1) temp++;     if (temp == 2)       return true;     else       return false;   }   int CF(const vector<int> &p) {     int ans = 0;     for (int i = 0; i < p.size(); i++)       if (p[i] > 1) ans += p[i];     return ans;   }   long long int res = 1;   long long int power(long long int y) {     if (y == 0) return 1;     res *= 2;     res %= 1000000007;     return res;   }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int test = 1;     while (test--) {       long long int n, l, r;       cin >> n >> l >> r;       long long int s1 = 0, s2 = 0;       for (int i = l - 1; i >= 0; i--) s1 += pow(2, i);       if (n - l > 0) s1 += (n - l);       cout << s1 <<    ;       for (int i = r - 1; i >= 0; i--) s2 += pow(2, i);       if (n - r > 0) s2 += (n - r) * pow(2, r - 1);       cout << s2;     }     return 0;   }   