#include using namespace std; #define lp(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rep(i, n) lp(i, 0, n) #define rlp(i, a, b) for (int i = (int)(b) - 1; i >= (int)(a); i--) #define rrep(i, n) rlp(i, 0, n) #define mp make_pair #define mt make_tuple #define pb push_back #define eb emplace_back #define all(c) begin(c), end(c) typedef long long ll; typedef unsigned long long ull; const int dx[] = {-1, 0, 1, 0}; const int dy[] = {0, -1, 0, 1}; const int MOD = 1e9 + 7; const int INF = 1 << 28; const ll INFLL = 1ll << 60; template inline void unique(T &c){ sort(all(c)); c.erase(unique(all(c)), end(c)); } typedef pair P; int sq(int a){ return a * a; } vector

ds; int n; set

st; int main() { lp(i, -22, 22) lp(j, -22, 22){ if (sq(i) + sq(j) < sq(20)){ ds.push_back(P(i, j)); } } cin >> n; rep(i, n){ int x, y; cin >> x >> y; bool f = true; for (P d : ds){ P np = P(x + d.first, y + d.second); if (st.count(np)) f = false; } if (f) st.insert(P(x, y)); } cout << st.size() << endl; }