#include <bits/stdc++.h>
using namespace std;
template <typename A, typename B>
ostream& operator<<(ostream& os, const pair<A, B>& p) {
  return os << '(' << p.first << ", " << p.second << ')';
}
template <typename C>
ostream& operator<<(ostream& os, const vector<C>& v) {
  for (__typeof((v).begin()) __it = (v).begin(); __it != (v).end(); __it++)
    os << *(__it) << ' ';
  return os;
}
const int inf = 0x3f3f3f3f;
const double eps = 1e-5;
const int maxn = 500;
bool can[maxn][maxn];
bool calc[maxn][maxn];
pair<int, int> v[22];
int n, d;
bool far(int row, int col) {
  row -= 202;
  col -= 202;
  if (row * row + col * col > d) return true;
  return false;
}
bool go(int row, int col) {
  if (far(row, col)) return true;
  if (calc[row][col]) return can[row][col];
  bool& res = can[row][col];
  bool fail = true;
  for (int i = 0; i < n; i++) {
    fail = (fail && go(row + v[i].second, col + v[i].first));
  }
  res = !fail;
  calc[row][col] = true;
  {
    cerr << "row - 202"
         << " = " << (row - 202) << endl;
  };
  {
    cerr << "col - 202"
         << " = " << (col - 202) << endl;
  };
  {
    cerr << "res"
         << " = " << (res) << endl;
  };
  return res;
}
int main() {
  int x, y;
  cin >> x >> y >> n >> d;
  d *= d;
  for (int i = 0; i < n; i++) cin >> v[i].first >> v[i].second;
  puts(go(y + 202, x + 202) ? "Anton" : "Dasha");
  return 0;
}
