func_code_string: #include <bits/stdc++.h>   inline long long MAX2(long long a, long long int b) {     return (a) > (b) ? (a) : (b);   }   inline long long MAX3(long long a, long long b, long long c) {     return (a) > (b) ? ((a) > (c) ? (a) : (c)) : ((b) > (c) ? (b) : (c));   }   inline long long MIN2(long long a, long long b) {     return (a) < (b) ? (a) : (b);   }   inline long long MIN3(long long a, long long b, long long c) {     return (a) < (b) ? ((a) < (c) ? (a) : (c)) : ((b) < (c) ? (b) : (c));   }   using namespace std;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int q;     cin >> q;     while (q--) {       int b, w;       cin >> b >> w;       vector<pair<int, int> > co;       if (b > w) {         if (b > 3 * w + 1) {           cout <<  NO n ;           continue;         }         int x = 1e5 + 1, y = 1e5 + 1;         int i = 0;         while (i < w - 1) {           co.push_back(pair<int, int>(x, y));           y++;           co.push_back(pair<int, int>(x, y));           y++;           i++;         }         co.push_back(pair<int, int>(x, y));         y++;         int si = co.size();         int req = b - w + 1;         i = 0;         while (i < si && req > 0) {           co.push_back(pair<int, int>(co[i].first - 1, co[i].second));           req--;           if (req == 0) break;           co.push_back(pair<int, int>(co[i].first + 1, co[i].second));           req--;           i += 2;         }         if (req > 0) {           co.push_back(pair<int, int>(co[0].first, co[0].second - 1));           req--;         }         if (req > 0) {           co.push_back(               pair<int, int>(co[2 * (w - 1)].first, co[2 * (w - 1)].second + 1));           req--;         }       } else {         if (w > 3 * b + 1) {           cout <<  NO n ;           continue;         }         int x = 1e5, y = 1e5 + 1;         int i = 0;         while (i < b - 1) {           co.push_back(pair<int, int>(x, y));           y++;           co.push_back(pair<int, int>(x, y));           y++;           i++;         }         co.push_back(pair<int, int>(x, y));         y++;         int si = co.size();         int req = w - b + 1;         i = 0;         while (i < si && req > 0) {           co.push_back(pair<int, int>(co[i].first - 1, co[i].second));           req--;           if (req == 0) break;           co.push_back(pair<int, int>(co[i].first + 1, co[i].second));           req--;           i += 2;         }         if (req > 0) {           co.push_back(pair<int, int>(co[0].first, co[0].second - 1));           req--;         }         if (req > 0) {           co.push_back(               pair<int, int>(co[2 * (b - 1)].first, co[2 * (b - 1)].second + 1));           req--;         }       }       cout <<  YES n ;       int i, si = co.size();       for (i = 0; i < si; i++) cout << co[i].first <<     << co[i].second <<   n ;     }     cerr <<   n           <<  Time elapsed :   << clock() * 1000.0 / CLOCKS_PER_SEC <<   ms           <<   n ;   }   