#include <bits/stdc++.h>
using std::cin;
using std::cout;
using std::endl;
using std::ifstream;
using std::max;
using std::min;
using std::ofstream;
using std::string;
int dp[2204][2204];
int vec[21][2];
int x, y, vec_num_n, max_dist_d;
int dfs(int ori_x, int ori_y, int off_x, int off_y) {
  if (dp[off_x][off_y] >= 0) {
    return dp[off_x][off_y];
  }
  int cur_x = ori_x + off_x;
  int cur_y = ori_y + off_y;
  if (cur_x * cur_x + cur_y * cur_y > max_dist_d * max_dist_d) {
    return dp[off_x][off_y] = 0;
  }
  for (int vec_i = 0; vec_i < vec_num_n; ++vec_i) {
    int next_x = vec[vec_i][0] + off_x;
    int next_y = vec[vec_i][1] + off_y;
    if (dfs(ori_x, ori_y, next_x, next_y)) {
      return dp[off_x][off_y] = 0;
    }
  }
  return dp[off_x][off_y] = 1;
}
int main() {
  cin >> x >> y >> vec_num_n >> max_dist_d;
  for (int vec_i = 0; vec_i < vec_num_n; ++vec_i) {
    cin >> vec[vec_i][0] >> vec[vec_i][1];
  }
  memset(dp, -1, sizeof(dp));
  if (!dfs(x, y, 0, 0)) {
    cout << "Anton" << endl;
  } else {
    cout << "Dasha" << endl;
  }
  return 0;
}
