#include <bits/stdc++.h>
using namespace std;
int II;
long long I_O;
char CC, SS[20];
const int N = 1e5 + 4;
inline long long read() {
  II = 1, I_O = 0;
  while (!isdigit(CC = getchar()))
    if (CC == '-') II = -1;
  while (isdigit(CC)) I_O = I_O * 10 + CC - '0', CC = getchar();
  return I_O * II;
}
inline void wonl() { putchar('\n'); }
inline void wws() {}
inline void dbg() { cout << endl; }
inline void ww(long long k) {
  if (k < 0) putchar('-'), k *= -1;
  II = 0;
  while (k) SS[++II] = k % 10, k /= 10;
  if (!II) SS[++II] = 0;
  while (II) putchar(SS[II--] + '0');
}
inline void ww(pair<long long, long long> p) {
  ww(p.first), putchar(' '), ww(p.second);
}
template <typename T, typename... V>
inline void wonl(T t, V... v) {
  ww(t);
  if (sizeof...(v)) putchar(' ');
  wonl(v...);
}
template <typename T, typename... V>
inline void wws(T t, V... v) {
  ww(t);
  putchar(' ');
  wws(v...);
}
template <typename T, typename... V>
inline void dbg(T t, V... v) {
  cout << ' ' << t;
  dbg(v...);
}
int n, d;
vector<pair<int, int> > v;
int dp[401][401];
int fun(int x, int y) {
  if (x * x + y * y > d * d) return 1;
  int &ans = dp[x + 200][y + 200];
  if (ans != -1) return ans;
  ans = 0;
  for (int i = 0; i < n; i++)
    if (fun(x + v[i].first, y + v[i].second) == 0) return ans = 1;
  return ans;
}
void solve() {
  int x = read(), y = read();
  n = read(), d = read();
  v.resize(n);
  memset(dp, -1, sizeof(dp));
  for (int i = 0; i < n; i++) v[i].first = read(), v[i].second = read();
  if (fun(x, y))
    printf("Anton\n");
  else
    printf("Dasha\n");
}
int main() {
  solve();
  return 0;
}
