fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. #define all(c) ((c).begin()), ((c).end())
  6. #define sz(x) ((int)(x).size())
  7.  
  8. #ifdef LOCAL
  9. #include <print.h>
  10. #else
  11. #define trace(...)
  12. #define endl "\n" // remove in interactive
  13. #endif
  14.  
  15. template<class T>
  16. struct matrix{
  17. vector<vector<T>> A;
  18. vector<vector<T>> orig;
  19. vector<int> rowcols, others;
  20. struct RowOperation{
  21. int a, b;
  22. ll c, d; // A[a] -> A[a] * c - A[b] * d
  23. };
  24. vector<RowOperation> ops;
  25. int m, n;
  26. matrix(){n = m = 0;}
  27. matrix(int n, int m): n(n), m(m){
  28. A.resize(n, vector<T>(m));
  29. }
  30. int rre(){
  31. orig = A;
  32. vector<bool> done(n);
  33. int rank = 0;
  34. for(int j = 0; j < m; j++){
  35. for(int i = 0; i < n; i++) if(!done[i] && A[i][j] != 0){
  36. rank++;
  37. done[i] = true;
  38. for(int k = 0; k < n; k++) if(k != i){
  39. ll g = __gcd(abs(A[i][j]), (A[k][j]));
  40. ll c = A[i][j] / g, d = A[k][j] / g;
  41. ops.push_back({k, i, c, d});
  42. for(int l = 0; l < m; l++){
  43. A[k][l] = A[k][l] * c - A[i][l] * d;
  44. }
  45. }
  46. }
  47. }
  48.  
  49. for(int i = 0; i < n; i++){
  50. vector<int> nz;
  51. for(int j = 0; j < m; j++) if(A[i][j] != 0){
  52. nz.push_back(j);
  53. }
  54. assert(sz(nz) <= 1);
  55. if(sz(nz) == 0) others.push_back(i);
  56. else{
  57. // rows.push_back(i); columns.push_back(nz[0]);
  58. rowcols.push_back(i * 4 + nz[0]);
  59. }
  60. }
  61. return rank;
  62. }
  63. vector<int> getOrigColumn(int c) const{
  64. vector<int> ret(n);
  65. for(int i = 0; i < n; i++) ret[i] = orig[i][c];
  66. return ret;
  67. }
  68. };
  69.  
  70. vector<matrix<ll>> ALL[4];
  71.  
  72. struct solution{
  73. vector<pair<string, ll>> ops;
  74. void add(vector<int> v, ll k){
  75. if(k == 0) return;
  76. if(k < 0){
  77. for(int& x: v) x *= -1;
  78. k *= -1;
  79. }
  80. string s(5, 'm');
  81. string R = "MEGK";
  82. int p = 0;
  83. for(int i = 0; i < 5; i++) if(v[i] == -1){
  84. s[i] = R[p++];
  85. }
  86. for(int i = 0; i < 5; i++) if(v[i] == 1){
  87. s[i] = R[p++];
  88. }
  89. ops.push_back({s, k});
  90. }
  91. void print(){
  92. cout << ops.size() << endl;
  93. for(auto it: ops){
  94. assert(it.second <= 1e16);
  95. cout << it.first << " " << it.second << endl;
  96. }
  97. }
  98. };
  99.  
  100. solution Sol;
  101.  
  102. bool getSolution(const matrix<ll>& M, vector<ll> V){
  103. Sol.ops.clear();
  104. int m = M.m;
  105. for(auto it: M.ops){
  106. V[it.a] = V[it.a] * it.c - V[it.b] * it.d;
  107. }
  108.  
  109. for(int i: M.others){
  110. if(V[i] != 0) return false;
  111. }
  112.  
  113. for(int ij: M.rowcols){
  114. int i = ij >> 2;
  115. int j = ij & 3;
  116. if(V[i] % abs(M.A[i][j]) != 0) return false;
  117. }
  118.  
  119. for(int ij: M.rowcols){
  120. int i = ij >> 2;
  121. int j = ij & 3;
  122. Sol.add(M.getOrigColumn(j), V[i] / M.A[i][j]);
  123. }
  124. return true;
  125. }
  126.  
  127. void solve4(vector<ll> V){
  128. vector<vector<int>> par(2);
  129. for(int i = 0; i < 5; i++) par[abs(V[i]) % 2].push_back(i);
  130. int h = sz(par[0]) < sz(par[1]) ? 1 : 0;
  131. int hbar = h ^ 1;
  132. vector<int> mid = {par[h][0], par[h][1], par[h][2]};
  133. int top = par[hbar].empty() ? par[h][3] : par[hbar][0];
  134. int bottom = sz(par[hbar]) == 0 ? par[h][4] : (sz(par[hbar]) == 1 ? par[h][3] : par[hbar][1]);
  135. matrix<ll> M(5, 4);
  136. M.A[top][0] = 1;
  137. int a = mid[0], b = mid[1], c = mid[2];
  138. M.A[a][0] = M.A[a][1] = M.A[a][2] = 1; M.A[a][3] = -1;
  139. M.A[b][0] = M.A[b][2] = -1; M.A[b][1] = M.A[b][3] = 1;
  140. M.A[c][0] = M.A[c][1] = -1; M.A[c][2] = M.A[c][3] = 1;
  141. M.A[bottom][1] = M.A[bottom][2] = M.A[bottom][3] = -1;
  142. assert(M.rre() == 4);
  143. assert(getSolution(M, V));
  144. Sol.print();
  145. }
  146.  
  147. void solve(){
  148. vector<ll> V(5);
  149. for(ll& v: V) cin >> v;
  150. ll sum = accumulate(all(V),0LL);
  151. if(sum % 5 != 0){
  152. cout << "NO" << endl;
  153. return;
  154. }
  155. cout << "YES" << endl;
  156. for(ll& v: V) v = sum / 5 - v;
  157.  
  158. for(int k = 1; k <= 3; k++){
  159. for(auto &it: ALL[k]) if(getSolution(it, V)){
  160. Sol.print();
  161. return;
  162. }
  163. }
  164. solve4(V);
  165. }
  166.  
  167.  
  168. int main(){
  169. ios_base::sync_with_stdio(false);
  170. cin.tie(NULL); // Remove in interactive problems
  171. vector<int> perm(5);
  172. iota(all(perm), 0);
  173. vector<int> a(5);
  174. vector<int> c = {-1, -1, 0, 1, 1};
  175. matrix<ll> A(5, 15);
  176. int p = 0;
  177. do{
  178. if(perm[0] < perm[1] && perm[3] < perm[4] && perm[0] < perm[3]){
  179. for(int i = 0; i < 5; i++) a[perm[i]] = c[i];
  180. for(int i = 0; i < 5; i++) A.A[i][p] = a[i];
  181. p++;
  182. }
  183. } while(next_permutation(all(perm)));
  184.  
  185. for(int K = 1; K <= 3; K++){
  186. matrix<ll> mat(5, K);
  187. function<void(int, int)> recurse = [&](int i, int k){
  188. if(k > K) return;
  189. if(i == p){
  190. if(k < K) return;
  191. matrix<ll> mat2 = mat;
  192. int r= mat2.rre();
  193. if(r == K){
  194. ALL[K].push_back(mat2);
  195. }
  196. return;
  197. }
  198. recurse(i + 1, k);
  199. if(k==K) return;
  200. for(int r = 0; r < 5; r++) mat.A[r][k] = A.A[r][i];
  201. recurse(i + 1, k + 1);
  202. };
  203. recurse(0, 0);
  204. }
  205. int t; cin >> t;
  206. while(t--){
  207. solve();
  208. }
  209. }
Runtime error #stdin #stdout 0.02s 5260KB
stdin
Standard input is empty
stdout
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES
0
YES