#include <bits/stdc++.h> using namespace std; #define ll long long #define all(c) ((c).begin()), ((c).end()) #define sz(x) ((int)(x).size()) #ifdef LOCAL #include <print.h> #else #define trace(...) #define endl "\n" // remove in interactive #endif template<class T> struct matrix{ vector<vector<T>> A; vector<vector<T>> orig; vector<int> rowcols, others; struct RowOperation{ int a, b; ll c, d; // A[a] -> A[a] * c - A[b] * d }; vector<RowOperation> ops; int m, n; matrix(){n = m = 0;} matrix(int n, int m): n(n), m(m){ A.resize(n, vector<T>(m)); } int rre(){ orig = A; vector<bool> done(n); int rank = 0; for(int j = 0; j < m; j++){ for(int i = 0; i < n; i++) if(!done[i] && A[i][j] != 0){ rank++; done[i] = true; for(int k = 0; k < n; k++) if(k != i){ ll g = __gcd(abs(A[i][j]), (A[k][j])); ll c = A[i][j] / g, d = A[k][j] / g; ops.push_back({k, i, c, d}); for(int l = 0; l < m; l++){ A[k][l] = A[k][l] * c - A[i][l] * d; } } } } for(int i = 0; i < n; i++){ vector<int> nz; for(int j = 0; j < m; j++) if(A[i][j] != 0){ nz.push_back(j); } assert(sz(nz) <= 1); if(sz(nz) == 0) others.push_back(i); else{ // rows.push_back(i); columns.push_back(nz[0]); rowcols.push_back(i * 4 + nz[0]); } } return rank; } vector<int> getOrigColumn(int c) const{ vector<int> ret(n); for(int i = 0; i < n; i++) ret[i] = orig[i][c]; return ret; } }; vector<matrix<ll>> ALL[4]; struct solution{ vector<pair<string, ll>> ops; void add(vector<int> v, ll k){ if(k == 0) return; if(k < 0){ for(int& x: v) x *= -1; k *= -1; } string s(5, 'm'); string R = "MEGK"; int p = 0; for(int i = 0; i < 5; i++) if(v[i] == -1){ s[i] = R[p++]; } for(int i = 0; i < 5; i++) if(v[i] == 1){ s[i] = R[p++]; } ops.push_back({s, k}); } void print(){ cout << ops.size() << endl; for(auto it: ops){ assert(it.second <= 1e16); cout << it.first << " " << it.second << endl; } } }; solution Sol; bool getSolution(const matrix<ll>& M, vector<ll> V){ Sol.ops.clear(); int m = M.m; for(auto it: M.ops){ V[it.a] = V[it.a] * it.c - V[it.b] * it.d; } for(int i: M.others){ if(V[i] != 0) return false; } for(int ij: M.rowcols){ int i = ij >> 2; int j = ij & 3; if(V[i] % abs(M.A[i][j]) != 0) return false; } for(int ij: M.rowcols){ int i = ij >> 2; int j = ij & 3; Sol.add(M.getOrigColumn(j), V[i] / M.A[i][j]); } return true; } void solve4(vector<ll> V){ vector<vector<int>> par(2); for(int i = 0; i < 5; i++) par[abs(V[i]) % 2].push_back(i); int h = sz(par[0]) < sz(par[1]) ? 1 : 0; int hbar = h ^ 1; vector<int> mid = {par[h][0], par[h][1], par[h][2]}; int top = par[hbar].empty() ? par[h][3] : par[hbar][0]; int bottom = sz(par[hbar]) == 0 ? par[h][4] : (sz(par[hbar]) == 1 ? par[h][3] : par[hbar][1]); matrix<ll> M(5, 4); M.A[top][0] = 1; int a = mid[0], b = mid[1], c = mid[2]; M.A[a][0] = M.A[a][1] = M.A[a][2] = 1; M.A[a][3] = -1; M.A[b][0] = M.A[b][2] = -1; M.A[b][1] = M.A[b][3] = 1; M.A[c][0] = M.A[c][1] = -1; M.A[c][2] = M.A[c][3] = 1; M.A[bottom][1] = M.A[bottom][2] = M.A[bottom][3] = -1; assert(M.rre() == 4); assert(getSolution(M, V)); Sol.print(); } void solve(){ vector<ll> V(5); for(ll& v: V) cin >> v; ll sum = accumulate(all(V),0LL); if(sum % 5 != 0){ cout << "NO" << endl; return; } cout << "YES" << endl; for(ll& v: V) v = sum / 5 - v; for(int k = 1; k <= 3; k++){ for(auto &it: ALL[k]) if(getSolution(it, V)){ Sol.print(); return; } } solve4(V); } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); // Remove in interactive problems vector<int> perm(5); iota(all(perm), 0); vector<int> a(5); vector<int> c = {-1, -1, 0, 1, 1}; matrix<ll> A(5, 15); int p = 0; do{ if(perm[0] < perm[1] && perm[3] < perm[4] && perm[0] < perm[3]){ for(int i = 0; i < 5; i++) a[perm[i]] = c[i]; for(int i = 0; i < 5; i++) A.A[i][p] = a[i]; p++; } } while(next_permutation(all(perm))); for(int K = 1; K <= 3; K++){ matrix<ll> mat(5, K); function<void(int, int)> recurse = [&](int i, int k){ if(k > K) return; if(i == p){ if(k < K) return; matrix<ll> mat2 = mat; int r= mat2.rre(); if(r == K){ ALL[K].push_back(mat2); } return; } recurse(i + 1, k); if(k==K) return; for(int r = 0; r < 5; r++) mat.A[r][k] = A.A[r][i]; recurse(i + 1, k + 1); }; recurse(0, 0); } int t; cin >> t; while(t--){ solve(); } }
Standard input is empty
YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES 0 YES