#include <bits/stdc++.h>

using namespace std;

#define ar array
#define ll long long

const int MAX_N = 1e5 + 5;
const ll MOD = 1e9 + 7;
const ll INF = 1e9;



void solve() {
    int n, m; cin >> n >> m;
    int f[n][m];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            char c; cin >> c;
            f[i][j] = (c == '+' ? 1 : -1);
        }
    }
    int dp[n][m]; // (Takahashi - Aoki)
    for (int i = n - 1; i >= 0; i--) {
        for (int j = m - 1; j >= 0; j--) {
            if (i == n - 1 && j == m - 1) { // base case
                dp[i][j] = 0;
            } else if ((i + j) % 2) {
                dp[i][j] = INF;
                if (i + 1 < n) dp[i][j] = min(dp[i][j], dp[i + 1][j] - f[i + 1][j]);
                if (j + 1 < m) dp[i][j] = min(dp[i][j], dp[i][j + 1] - f[i][j + 1]);
            } else {
                dp[i][j] = -INF;
                if (i + 1 < n) dp[i][j] = max(dp[i][j], dp[i + 1][j] + f[i + 1][j]);
                if (j + 1 < m) dp[i][j] = max(dp[i][j], dp[i][j + 1] + f[i][j + 1]);
            }
        }
    }
    if (dp[0][0] == 0) {
        cout << "Draw\n";
    } else {
        cout << (dp[0][0] > 0 ? "Takahashi" : "Aoki") << "\n";
    }
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int tc = 1;
    // cin >> tc;
    for (int t = 1; t <= tc; t++) {
        // cout << "Case #" << t << ": ";
        solve();
    }
}
#include <bits/stdc++.h>
#define FOR(i, a, n) for(ll i = (ll)a; i < (ll)n; i++)
#define FORR(i, n) for(ll i = (ll)n - 1LL; i >= 0LL; i--)
#define rep(i, n) FOR(i, 0, n)
#define ALL(x) begin(x), end(x)
using namespace std;
using ll = long long;
constexpr ll Mod = 998244353;
constexpr ll mod = 1e9 + 7;
constexpr ll inf = 1LL << 60;
const double PI = acos(-1);
template <typename T1, typename T2>
inline bool chmax(T1 &a, T2 b) {
    return a < b && (a = b, true);
}
template <typename T1, typename T2>
inline bool chmin(T1 &a, T2 b) {
    return a > b && (a = b, true);
}
/*-------------------------------------------*/

int h, w;
char a[2009][2009];
int dp[2009][2009];

int main() {
    cin.tie(nullptr);
    ios::sync_with_stdio(false);

    cin >> h >> w;

    rep(i, h) cin >> a[i];

    FORR(i, h) FORR(j, w) {
        if(i + 1 < h || j + 1 < w) dp[i][j] = -1e9;
        if(i + 1 < h)
            chmax(dp[i][j], -dp[i + 1][j] + (a[i + 1][j] == '+' ? 1 : -1));
        if(j + 1 < w)
            chmax(dp[i][j], -dp[i][j + 1] + (a[i][j + 1] == '+' ? 1 : -1));
    }

    if(dp[0][0] < 0) cout << "Aoki\n";
    if(dp[0][0] == 0) cout << "Draw\n";
    if(dp[0][0] > 0) cout << "Takahashi\n";

    return 0;
}