func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 1e4 + 10;   int dp[maxn][40];   long long pw[maxn][40];   long long n;   int dfs(int a, int b) {     if (dp[a][b]) return dp[a][b];     if (pw[a][b] >= n) return dp[a][b] = 1;     if (pw[a][2] >= n) {       if ((n - a) % 2 == 0)         return dp[a][b] = 1;       else         return dp[a][b] = 2;     }     if (dfs(a + 1, b) == 2 || dfs(a, b + 1) == 2) return dp[a][b] = 1;     return dp[a][b] = 2;   }   long long a, b;   int main() {     scanf( %lld%lld%lld , &a, &b, &n);     for (int i = 1; i < maxn; i++) {       pw[i][0] = 1;       for (int j = 1; j <= 35; j++) {         pw[i][j] = pw[i][j - 1] * i;         if (pw[i][j] >= n) {           for (int k = j; k <= 35; k++) pw[i][k] = n;           break;         }       }     }     dfs(a, b);     if (a == 1) {       for (int i = b; i <= 36; i++) {         if (i > 35) {           printf( Missing n );           break;         }         if (dp[2][i] == 2) {           if ((i - b) % 2 == 0)             printf( Masha n );           else             printf( Stas n );           break;         }       }     } else {       if (dp[a][b] == 1)         printf( Masha n );       else         printf( Stas n );     }     return 0;   }   