#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
#define MOD ll(998244353)
#define all(x) (x).begin(),(x).end()
#define dbg(x) cerr<<#x<<": "<<x<<endl


int main(){
    ll h, w;
    cin >> h >> w;
    vector<vector<ll>> board(h, vector<ll>(w));
    vector<vector<ll>> score(h, vector<ll>(w));

    for(int i = 0; i < h; i++){
        string s;
        cin >> s;
        for(int j = 0; j < w; j++){
            board[i][j] = s[j] == '+' ? 1 : -1;
        }
    }


    score[h-1][w-1] = 0;
    for(int i = h-1; i >= 0; i--){
        for(int j = w-1; j >= 0; j--){
            if(i == h-1 && j == w-1){continue;}
            if((i+j)%2==1){//aoki
                if(i<h-1 && j<w-1){
                    score[i][j] = min(score[i+1][j] - board[i+1][j], score[i][j+1] - board[i][j+1]);
                }else if(i<h-1 && j==w-1){
                    score[i][j] = score[i+1][j] - board[i+1][j];
                }else if(i==h-1 && j<w-1){
                    score[i][j] = score[i][j+1] - board[i][j+1];
                }
            }else{
                if(i<h-1 && j<w-1){
                    score[i][j] = max(score[i+1][j] + board[i+1][j], score[i][j+1] + board[i][j+1]);
                }else if(i<h-1 && j==w-1){
                    score[i][j] = score[i+1][j] + board[i+1][j];
                }else if(i==h-1 && j<w-1){
                    score[i][j] = score[i][j+1] + board[i][j+1];
                }
            }

        }
    }
  

    if(score[0][0] > 0){
        cout << "Takahashi" << endl;
    }else if(score[0][0] == 0){
        cout << "Draw" << endl;
    }else{
        cout << "Aoki" << endl;
    }
    return 0;

}

#include<iostream>
#include<algorithm>
using namespace std;
int H,W;
string A[2000];
int dp[2000][2000];
main()
{
	cin>>H>>W;
	for(int i=0;i<H;i++)cin>>A[i];
	int ans;
	for(int i=H;i--;)for(int j=W;j--;)
	{
		int L=-1e9,R=-1e9;
		if(i<H-1)
		{
			L=-dp[i+1][j];
		}
		if(j<W-1)
		{
			R=-dp[i][j+1];
		}
		ans=dp[i][j]=max(L,R);
		if(i==H-1&&j==W-1)ans=dp[i][j]=0;
		if(A[i][j]=='+')dp[i][j]--;
		else dp[i][j]++;
	}
	cout<<(ans>0?"Takahashi":ans<0?"Aoki":"Draw")<<endl;
}
