#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
inline int read() {
  int res, ok = 1;
  char ch;
  for (ch = getchar(); ch < '0' || ch > '9'; ch = getchar())
    if (ch == '-') ok = -1;
  res = ch - '0';
  for (ch = getchar(); ch >= '0' && ch <= '9'; ch = getchar())
    res = res * 10 + ch - '0';
  return res * ok;
}
int x, y, n, d, vis[405][405];
struct node {
  int x, y;
} a[25];
inline bool dfs(int x, int y) {
  if ((x - 200) * (x - 200) + (y - 200) * (y - 200) >= d * d) return 1;
  if (vis[x][y] != -1) return vis[x][y];
  for (int i = 1; i <= n; i++)
    if (dfs(x + a[i].x, y + a[i].y) == 0) return vis[x][y] = 1;
  return vis[x][y] = 0;
}
int main() {
  memset(vis, -1, sizeof(vis));
  x = read();
  y = read();
  n = read();
  d = read();
  x += 200;
  y += 200;
  for (int i = 1; i <= n; i++) {
    a[i].x = read();
    a[i].y = read();
  }
  if (dfs(x, y))
    printf("Anton\n");
  else
    printf("Dasha\n");
  return 0;
}
