#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y;
} s, dir[21];
int x, y, n, d;
int temp[610][610];
bool check(node a) {
  if ((a.x - 200) * (a.x - 200) + (a.y - 200) * (a.y - 200) > d * d)
    return false;
  return true;
}
int dfs(node a) {
  if (temp[a.x][a.y] != -1) return temp[a.x][a.y];
  temp[a.x][a.y] = 0;
  node p;
  for (int i = 0; i < n; i++) {
    p.x = a.x + dir[i].x;
    p.y = a.y + dir[i].y;
    if (!check(p)) continue;
    dfs(p);
    if (temp[p.x][p.y] == 0) {
      temp[a.x][a.y] = 1;
      break;
    }
  }
  return temp[a.x][a.y];
}
int main() {
  cin >> s.x >> s.y >> n >> d;
  s.x += 200;
  s.y += 200;
  memset(temp, -1, sizeof(temp));
  for (int i = 0; i < n; i++) {
    cin >> dir[i].x >> dir[i].y;
  }
  if (dfs(s))
    printf("Anton\n");
  else
    printf("Dasha\n");
  return 0;
}
