/*
{
######################
#       Author       #
#        Gary        #
#        2021        #
######################
*/
#include<bits/stdc++.h>
#define rb(a,b,c) for(int a=b;a<=c;++a)
#define rl(a,b,c) for(int a=b;a>=c;--a)
#define LL long long
#define IT iterator
#define PB push_back
#define II(a,b) make_pair(a,b)
#define FIR first
#define SEC second
#define FREO freopen("check.out","w",stdout)
#define rep(a,b) for(int a=0;a<b;++a)
#define SRAND mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
#define random(a) rng()%a
#define ALL(a) a.begin(),a.end()
#define POB pop_back
#define ff fflush(stdout)
#define fastio ios::sync_with_stdio(false)
#define check_min(a,b) a=min(a,b)
#define check_max(a,b) a=max(a,b)
using namespace std;
//inline int read(){
//    int x=0;
//    char ch=getchar();
//    while(ch<'0'||ch>'9'){
//        ch=getchar();
//    }
//    while(ch>='0'&&ch<='9'){
//        x=(x<<1)+(x<<3)+(ch^48);
//        ch=getchar();
//    }
//    return x;
//}
const int INF=0x3f3f3f3f;
typedef pair<int,int> mp;
/*}
*/
int h,w;
char a[2002][2002];
int dp[2002][2002];
int main(){
	cin>>h>>w;
	rb(i,1,h)
		rb(j,1,w)
			cin>>a[i][j];
	memset(dp,-63,sizeof(dp));
	dp[h][w]=0;
	rl(i,h,1)
		rl(j,w,1)
			if(i!=h||j!=w){
				if(i!=h){
					check_max(dp[i][j],-dp[i+1][j]+(a[i+1][j]=='+'? 1:-1));
				}
				if(j!=w){
					check_max(dp[i][j],-dp[i][j+1]+(a[i][j+1]=='+'? 1:-1));
				}
			}
	if(dp[1][1]>0){
		cout<<"Takahashi";
	}
	if(dp[1][1]<0){
		cout<<"Aoki";
	}
	if(dp[1][1]==0){
		cout<<"Draw";
	}
	return 0;
}

#include<bits/stdc++.h>
using namespace std; 
typedef long long int ll;
const int maxn = 2e5+5;
#define mod 1000000009 


void solve(){
  
  int n,m;
  cin >> n>> m;
  vector<int> a(m);
  for(int i=0;i<m;i++){
  	cin >> a[i];
  }
  
  if( m==0){
  	cout << 1 << endl;
  	return;
  }


  sort(a.begin(),a.end());
  vector<int> widths;
  for(int i=0;i<m-1;i++){
  	if(a[i+1]-a[i]-1 > 0)
  	widths.push_back(a[i+1]-a[i]-1);
  }

  if(a[0] > 1)
   widths.push_back(a[0]-1);
  if( n-a[m-1] > 0)
  widths.push_back(n-a[m-1]);

  // for(auto i: widths) cout << i <<" ";
  // 	cout << endl;
  if( widths.empty() || m == 0) {
  	cout << 0 <<endl;
  	return;
  }
  int mn = *min_element(widths.begin(),widths.end());
  int ans =0;

  for(auto i : widths){
  	ans += (i+mn-1)/mn;
  }


  if(widths.empty()) cout << 0 << endl;
  else cout << ans << endl;
}

int main(){
   ios_base::sync_with_stdio(false);
   cin.tie(NULL);
   int tc = 1;
  // cin >> tc;
   while(tc--) solve();
  
 return 0;
}