#include <bits/stdc++.h>
using namespace std;
long long n, m;
long long a[35];
long long domod(long long &a) {
  a %= m;
  if (a < 0) a += m;
  return a;
}
long long cal(long long x) {
  long long ret = 1;
  for (int i = 0; i < 35; i++) {
    if ((1LL << i) & x) domod(ret *= a[i]);
  }
  return ret;
}
int main() {
  int i, j;
  long long ans;
  while (cin >> n >> m) {
    a[0] = 3;
    for (i = 1; i < 35; i++) domod(a[i] = a[i - 1] * a[i - 1]);
    cout << domod(ans = cal(n) - 1) << '\n';
  }
  return 0;
}
