#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const constexpr int INF = 1e9; //typedef std::pair P; #define FOR(i, a, n) for (ll i = (ll)a; i<(ll)n; ++i) #define REP(i, n) FOR(i, 0, n) typedef long long ll; typedef vector VI; const constexpr ll MOD = 1e9+7; vector > vp; struct Less { bool operator()(const pair& x, const pair& y) const { return x.first > y.first; } }; ll GCD(ll a, ll b){ if(b==0) return a; return GCD(b, a%b); } //グラフの隣接リスト VI g[200010]; //頂点の入次数を管理 int h[100010]; vector v; int main(void) { int L, N; cin >> L >> N; ll ans=0; string s; REP(i, N) cin >> s; ans = pow(2, L-3)*N; cout << ans << endl; return 0; }