#include <bits/stdc++.h>
using namespace std ;
long long C( int n , int k ){
    if ( k == 0 || k == n )
        return 1 ;
    if ( k < 0 || k > n )
        return 0 ;
    k = min( k ,  n - k ) ;
    vector<vector<long long > >  c ( ( n + 1 ) , vector<long long> ( k + 1 , 0 ) ) ;
    for ( int i = 0 ; i <= n ; i++ ){
        for ( int j = 0 ; j <= min( i , k ) ; j++ ){
            if ( i == j || j == 0 )
                c[i][j] = 1 ;
            else {
                c[i][j] = c[i-1][j-1] + c[i-1][j] ;
            }
        }
    }
    return c[n][k] ;
}
int main(){
    int n , k  ;
    cin >> n >> k ;
    long long x = ( 1ll << n ) - C(n , k ) + 1 ;
    cout << x ;

}
