#include <iostream>
#include <iomanip>
using namespace std;
 
int main() {
    int n, m;
    cin >> n >> m;
    double** x = new double* [n+1];
    for (int i = 0; i < n+1; i++) {
    	x[i] = new double [2*n+1];
    }
    x[0][n] = 1;
    double a, b;
    for(int i = 1; i <= n; i++) {
      for(int j = n - i; j <= n + i; j++) {
        a = (j - 1 < 0)? 0 : x[i-1][j-1];
        b = (j + 1 > 2*n)? 0 : x[i-1][j+1];
        x[i][j] = (a + b) / 2;
      }
    }
    double h = (n + m > 2*n)? 0 : x[n][n+m];
    cout << fixed << setprecision(9) << h;
    for (int i = 0; i < n+1; i++) {
    	delete []x[n-i];
    }
    delete []x;
    return 0;
}