malteklaes/cpp-code-code_search_net-style huggingface dataset:
#include <bits/stdc++.h>   int main() {     int n;     scanf( %d , &n);     int ar[1000];     int i;     for (i = 0; i < n; scanf( %d , &ar[i++]))       ;     int b = 0, e = n - 1;     int s = 0, d = 0;     i = 1;     while (b <= e) {       if (ar[b] > ar[e]) {         if (i == 1)           s = s + ar[b];         else           d = d + ar[b];         b++;       } else {         if (i == 1)           s = s + ar[e];         else           d = d + ar[e];         e--;       }       i = i * -1;     }     printf( %d %d , s, d);     exit(0);   }
#include <bits/stdc++.h>   using namespace std;   const int inf = 1e9 + 5;   const long long infll = 1e18 + 5ll;   const long double eps = 1e-9;   const int maxn = 1e5 + 100;   const long long maxlog = 21;   const int P = 97;   const int mod = 1e9 + 9;   int n, m, lvl[maxn], up[maxlog][maxn], sub[maxn], par[maxn], ans[maxn];   std::vector<int> g[maxn];   bool ban[maxn];   void dfs1(int v = 1, int pr = 0) {     lvl[v] = lvl[pr] + 1;     up[0][v] = pr;     for (int i = 1; i < 20; ++i) up[i][v] = up[i - 1][up[i - 1][v]];     for (auto to : g[v])       if (pr != to) {         dfs1(to, v);       }   }   int nn;   void dfs2(int v, int pr) {     sub[v] = 1;     ++nn;     for (auto to : g[v]) {       if (to != pr && !ban[to]) {         dfs2(to, v);         sub[v] += sub[to];       }     }   }   int getCentroid(int v, int pr) {     for (auto to : g[v]) {       if (to != pr && !ban[to] && sub[to] * 2 > nn) {         return getCentroid(to, v);       }     }     return v;   }   void decompose(int v, int pr) {     nn = 0;     dfs2(v, pr);     int centroid = getCentroid(v, pr);     par[centroid] = pr;     ban[centroid] = 1;     for (auto to : g[centroid]) {       if (to == pr || ban[to]) continue;       decompose(to, centroid);     }   }   int lca(int a, int b) {     if (lvl[a] > lvl[b]) swap(a, b);     int d = lvl[b] - lvl[a];     for (int i = 0; i < maxlog; ++i)       if (d & (1 << i)) b = up[i][b];     if (a == b) return b;     for (int i = maxlog - 1; i >= 0; --i)       if (up[i][a] != up[i][b]) a = up[i][a], b = up[i][b];     return up[0][a];   }   int dist(int u, int v) { return lvl[u] + lvl[v] - 2 * lvl[lca(u, v)]; }   void upd(int v) {     int x = v;     while (x != 0) {       ans[x] = min(ans[x], dist(x, v));       x = par[x];     }   }   int query(int v) {     int x = v, res = inf;     while (x != 0) {       res = min(res, ans[x] + dist(x, v));       x = par[x];     }     return res;   }   int main() {     ios_base::sync_with_stdio(0), cin.tie(NULL), cout.tie(NULL);     if (fopen( sorting                 .in ,                r ))       freopen(            sorting             .in ,            r , stdin),           freopen(                sorting                 .out ,                w , stdout);     ;     cin >> n >> m;     for (int i = 1, u, v; i < n; ++i) {       cin >> u >> v;       g[u].push_back(v);       g[v].push_back(u);     }     dfs1();     decompose(1, 0);     memset(ans, inf, sizeof ans);     upd(1);     for (int i = 1, t, v; i <= m; ++i) {       cin >> t >> v;       if (t == 1) {         upd(v);       } else {         cout << query(v) <<   n ;       }     }     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int n, m, ed, x, y;   int l[200005], qd[200005], qn[200005], p[200005];   void bd(int x, int y) { qd[++ed] = y, qn[ed] = l[x], l[x] = ed; }   int notinE(int x, int y) {     for (int i = (l[x]); i; i = qn[i])       if (qd[i] == y) return 0;     return 1;   }   int main() {     scanf( %d%d , &n, &m);     for (int i = (0); i < (m); i++)       scanf( %d%d , &x, &y), bd(x - 1, y - 1), bd(y - 1, x - 1);     for (int i = (0); i < (n); i++) p[i] = i;     for (int i = (0); i < (75); i++) {       random_shuffle(p, p + n);       p[n] = p[0];       int ok = 1;       for (int j = (1); j <= (m); j++)         if (!notinE(p[j - 1], p[j])) {           ok = 0;           break;         }       if (ok) {         for (int j = (1); j <= (m); j++)           printf( %d %d n , p[j - 1] + 1, p[j] + 1);         return 0;       }     }     puts( -1 );     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int cmpfunc(const void *a, const void *b) { return (*(int *)a - *(int *)b); }   long long int gcd(long long int m, long long int n) {     if (n == 0) return m;     return gcd(n, m % n);   }   long long int fastpow(long long int a, long long int b, long long int m) {     long long int r = 1;     while (b > 0) {       if (b % 2 == 1) r = (r * a) % m;       b = b >> 1;       a = (a * a) % m;     }     return r;   }   int prime(long long int x) {     if (x == 1) return 0;     if (x <= 3) return 1;     if (x % 6 == 1 || x % 6 == 5) {       long long int y = sqrt(x), i;       for (i = 2; i <= y; i++)         if (x % i == 0) return 0;       return 1;     }     return 0;   }   int main() {     ios_base::sync_with_stdio(0);     cin.tie(NULL);     long long int n, t;     cin >> n >> t;     if (n == 1 && t == 10)       cout << -1 << endl;     else if (t <= 9) {       for (long long int i = 0; i < n; i++) cout << t;       cout << endl;     } else {       cout << 1;       for (long long int i = 1; i < n; i++) cout << 0;       cout << endl;     }     return 0;   }
#include <bits/stdc++.h>   using namespace std;   long long blockSize;   long long cnt[100005];   long long ans[100005];   struct Query {     long long L, R, idx;   };   bool compare(Query x, Query y) {     if (x.L / blockSize != y.L / blockSize)       return x.L / blockSize < y.L / blockSize;     return x.R < y.R;   }   void queryResults(long long a[], long long n, Query q[], long long m) {     blockSize = (long long)sqrt(n);     sort(q, q + m, compare);     long long currL = 0, currR = 0;     long long currCnt = 0;     for (long long i = 0; i < m; i++) {       long long L = q[i].L, R = q[i].R;       while (currL < L) {         if (a[currL] > 100000) {           currL++;           continue;         }         if (cnt[a[currL]] == a[currL]) currCnt--;         cnt[a[currL]]--;         if (cnt[a[currL]] == a[currL]) currCnt++;         currL++;       }       while (currL > L) {         if (a[currL - 1] > 100000) {           currL--;           continue;         }         if (cnt[a[currL - 1]] == a[currL - 1]) currCnt--;         cnt[a[currL - 1]]++;         if (cnt[a[currL - 1]] == a[currL - 1]) currCnt++;         currL--;       }       while (currR <= R) {         if (a[currR] > 100000) {           currR++;           continue;         }         if (cnt[a[currR]] == a[currR]) currCnt--;         cnt[a[currR]]++;         if (cnt[a[currR]] == a[currR]) currCnt++;         currR++;       }       while (currR > R + 1) {         if (a[currR - 1] > 100000) {           currR--;           continue;         }         if (cnt[a[currR - 1]] == a[currR - 1]) currCnt--;         cnt[a[currR - 1]]--;         if (cnt[a[currR - 1]] == a[currR - 1]) currCnt++;         currR--;       }       ans[q[i].idx] = currCnt;     }     for (long long i = 0; i < m; i++) cout << ans[i] << endl;   }   int main() {     long long n, m;     cin >> n >> m;     long long a[n];     for (long long i = 0; i < n; i++) cin >> a[i];     Query q[m];     for (long long i = 0; i < m; i++) {       cin >> q[i].L >> q[i].R;       q[i].L--;       q[i].R--;       q[i].idx = i;     }     queryResults(a, n, q, m);     return 0;   }
#include <bits/stdc++.h>   #pragma warning(disable : 4101)   using namespace std;   const double pi = acos(-1.0);   const int INF = 1000000000;   const int MAX = 100007;   const int MAX2 = 2000000;   const int inf = (int)1e9 + 5;   const long long mod = 1e9 + 7;   const int BASE = 10;   const int ST = 1000003;   const int CNT = 100;   const double eps = 1e-6;   const long long base = 2204234849;   const long long l_inf = (long long)4e18;   const int logn = 30;   int main() {     long long n, a, b, c, d, maxim1, maxim2;     cin >> n >> a >> b >> c >> d;     long long sum1 = a + b, sum2 = b + d, sum3 = c + a, sum4 = d + c;     int minim = min(sum1, min(sum2, min(sum3, sum4)));     int kol = 0;     maxim1 = minim + n;     int maxim = max(sum1, max(sum2, max(sum3, sum4)));     if (maxim > maxim1) {       cout << 0;       return 0;     }     cout << n * (maxim1 - maxim);     return 0;   }
#include <bits/stdc++.h>   using namespace std;   long long gcd(long long a, long long b) { return (b == 0) ? a : gcd(b, a % b); }   long long fun(long long n) {     for (long long i = 2; i * i <= n; i++) {       if (n % i == 0) return i;     }     return n;   }   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long n, c = 0;     cin >> n;     if (n % 2 != 0) {       n = n - fun(n);       c++;     }     cout << c + n / 2;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   const int MAX = 5009;   string s[MAX];   int n, m, b[MAX], ans, a[MAX];   int main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     cin >> n >> m;     for (int i = 0; i < n; i++) cin >> s[i];     for (int i = 0; i < m; i++) {       memset(a, 0, sizeof a);       for (int j = 0; j < n; j++)         if (s[j][i] ==  1 )           b[j]++, a[b[j]]++;         else           b[j] = 0;       for (int i = m; i >= 0; i--) a[i] += a[i + 1], ans = max(ans, a[i] * i);     }     cout << ans;   }
#include <bits/stdc++.h>   using namespace std;   const int maxN = 200 * 1000 + 10;   pair<int, int> a[maxN];   int nx[maxN];   stack<int> curr;   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     int d, n, m;     cin >> d >> n >> m;     for (int i = 0; i < m; i++) cin >> a[i].first >> a[i].second;     sort(a, a + m);     a[m].first = d;     curr.push(m);     for (int i = m - 1; i >= 0; i--) {       while (curr.size() > 1 && a[curr.top()].second >= a[i].second) curr.pop();       nx[i] = curr.top();       curr.push(i);     }     int fuel = n;     long long cost = 0;     for (int i = 0; i <= m; i++) {       fuel -= a[i].first - (i ? a[i - 1].first : 0);       if (fuel < 0) {         cout << -1 << endl;         return 0;       }       if (i == m) break;       int x = min(n - fuel, max(0, a[nx[i]].first - a[i].first - fuel));       fuel += x;       cost += a[i].second * 1ll * x;     }     cout << cost << endl;   }
#include <bits/stdc++.h>   using namespace std;   int ar[300005];   char ch[300005];   int n, m, ii, k;   int pre[300005];   vector<pair<int, int>> v;   void solve() {     v.clear();     scanf( %d%d%s , &n, &m, ch);     for (int i = 1; i <= n; i++) {       pre[i] = pre[i - 1];       if (i & 1) {         if (ch[i - 1] ==  + )           pre[i]++;         else           pre[i]--;       } else {         if (ch[i - 1] ==  - )           pre[i]++;         else           pre[i]--;       }       v.push_back({pre[i] + n, i});     }     sort(v.begin(), v.end());     for (int i = 1; i <= m; i++) {       int x, y;       scanf( %d%d , &x, &y);       int len = y - x + 1;       if (pre[y] - pre[x - 1] == 0) {         printf( 0 n );         continue;       }       if (len & 1)         printf( 1 n );       else         printf( 2 n%d  , x), x++;       int val = pre[y] - pre[x - 1];       if (x % 2 == 0) val *= -1;       int extra = val - (val / 2);       if (x % 2 == 0) extra *= -1;       val = pre[x - 1] + extra + n;       auto it = lower_bound(v.begin(), v.end(), make_pair(val, x));       printf( %d n , it->second);     }   }   int main() {     int t = 1;     scanf( %d , &t);     while (t--) solve();     return 0;   }
#include <bits/stdc++.h>      using namespace std;   const int mod = 1e9 + 7;   namespace math   {          int inc(int x, int y) { return x + y >= mod ? x + y - mod : x + y; }       int qpow(int a, int x, int mo)       {           int res = 1;           while (x)           {               if (x & 1)                   res = 1ll * res * a % mod;               a = 1ll * a * a % mod;               x >>= 1;           }           return res;       }       vector<int> Fac, invFac;       void Finit(int n)       {           Fac.resize(n + 1);           invFac.resize(n + 1);           Fac[0] = 1;           invFac[0] = 1;           for (int i = 1; i <= n; i++)               Fac[i] = 1ll * Fac[i - 1] * i % mod;           invFac[n] = qpow(Fac[n], mod - 2, mod);           for (int i = n - 1; i >= 1; i--)               invFac[i] = 1ll * invFac[i + 1] * (i + 1) % mod;       }       int C(int n, int m)       {           if (m == 0)               return 1;           if (n < m || m < 0)               return 0;           return (int)(1ll * Fac[n] * invFac[m] % mod * invFac[n - m] % mod);       }       int A(int n, int m)       {           if (n < m || m < 0)               return 0;           return (int)(1ll * Fac[n] * invFac[n - m] % mod);       }   }   using namespace math;   void solve()   {       int n, l, r;       cin >> n >> l >> r;       Finit(n);       int ans = 0;       int up = r - n, dn = 1 - l;       if (dn < up)       {           if (n & 1)           {               ans = inc(ans, 2ll * dn * C(n, n / 2) % mod);           }           else           {               ans = inc(ans, 1ll * dn * C(n, n / 2) % mod);           }           for (int i = 1; i <= n; i++)           {               int need_add = i;               int need_del = max(0, dn - up + i);               if (n - need_del - need_add < 0)                   break;               ans = inc(ans, 1ll * C(n - need_del - need_add, n / 2 - need_add) % mod);               if (n & 1)                   ans = inc(ans, 1ll * C(n - need_del - need_add, n / 2 + 1 - need_add) % mod);           }       }       else       {           if (n & 1)           {               ans = inc(ans, 2ll * up * C(n, n / 2) % mod);           }           else           {               ans = inc(ans, 1ll * up * C(n, n / 2) % mod);           }              for (int i = 1; i <= n; i++)           {               int need_del = i;               int need_add = max(0, up - dn + i);                  if (n - need_del - need_add < 0)                   break;               ans = inc(ans, 1ll * C(n - need_del - need_add, n / 2 - need_add) % mod);               if (n & 1)                   ans = inc(ans, 1ll * C(n - need_del - need_add, n / 2 + 1 - need_add) % mod);               //cout << ans << endl;           }       }       cout << ans << endl;   }   int main()   {       ios::sync_with_stdio(false);       cin.tie(nullptr);       int T = 1;       cin >> T;       while (T--)       {           solve();       }   }
#include <bits/stdc++.h>   using namespace std;   const long long p = 1e9 + 7;   long long read() {     long long s = 0;     char c = getchar(), lc =  + ;     while (c <  0  ||  9  < c) lc = c, c = getchar();     while ( 0  <= c && c <=  9 ) s = s * 10 + c -  0 , c = getchar();     return lc ==  -  ? -s : s;   }   void write(long long x) {     if (x < 0) {       putchar( - );       x = -x;     }     if (x < 10)       putchar(x +  0 );     else {       write(x / 10);       putchar(x % 10 +  0 );     }   }   void print(long long x, char c =   n ) {     write(x);     putchar(c);   }   inline void add(long long &x, long long y) {     x += y;     if (x >= p) x -= p;   }   inline long long lowbit(long long x) { return x & -x; }   inline long long calc(long long x1, long long x2, long long y1, long long y2,                         long long k) {     if (x2 - x1 < y2 - y1) swap(x1, y1), swap(x2, y2);     long long tmp = x2 - x1;     x2 = (x1 = (x1 ^ y1) & ~(tmp - 1)) + tmp;     x1++;     x2 = min(x2, k);     if (x1 > x2 || y1 > y2) return 0;     return (x1 + x2) * (x2 - x1 + 1) / 2 % p * (y2 - y1) % p;   }   inline long long solve(long long x, long long y, long long k) {     long long ret = 0;     for (long long i = x; i; i &= i - 1)       for (long long j = y; j; j &= j - 1)         add(ret, calc(i - lowbit(i), i, j - lowbit(j), j, k));     return ret;   }   signed main() {     long long q = read();     while (q--) {       long long x1 = read(), y1 = read(), x2 = read(), y2 = read(), k = read();       print((solve(x2, y2, k) - solve(x1 - 1, y2, k) - solve(x2, y1 - 1, k) +              solve(x1 - 1, y1 - 1, k) + p + p) %             p);     }     return 0;   }
#include <bits/stdc++.h>   using namespace std;   const int Nmax = 100000 + 10;   int n;   int nr[Nmax];   char s[Nmax], ans[Nmax];   bool ok(int L, int R) {     int i, sum;     if (L > R) return 0;     for (i = 1; i <= n; ++i) nr[i] = s[i] -  0 ;     if (L == 1 && nr[R] == 0) return 0;     if (L == 2 && nr[1] != 1) return 0;     for (nr[L] += nr[L - 1] * 10; true; L++, R--) {       if (L == R) {         ans[L] = nr[L] / 2 +  0 ;         return nr[L] % 2 == 0;       }       if (L + 1 == R) {         sum = nr[L];         if (nr[L] == nr[R] + 11) sum--;         ans[L] = ans[R] = sum / 2 +  0 ;         if (sum & 1) ans[L]++;         return (nr[L] == nr[R] || nr[L] == nr[R] + 11);       }       if (nr[L] - nr[R] != 0 && nr[L] - nr[R] != 1 && nr[L] - nr[R] != 10 &&           nr[L] - nr[R] != 11)         return 0;       sum = nr[L];       if (nr[L] == nr[R])         ;       if (nr[L] == nr[R] + 1 || nr[L] == nr[R] + 11) sum--, nr[L + 1] += 10;       if (nr[L] == nr[R] + 10 || nr[L] == nr[R] + 11) {         if (nr[R] == 9) return 0;         for (i = R - 1; i >= L && nr[i] == 0; --i) nr[i] = 9;         if (i == L) return 0;         nr[i]--;       }       ans[L] = ans[R] = sum / 2 +  0 ;       if (sum & 1) ans[L]++;       int mata = 5;     }     return 1;   }   int main() {     gets(s + 1);     n = strlen(s + 1);     if (ok(1, n))       puts(ans + 1);     else if (ok(2, n))       puts(ans + 2);     else       puts( 0 );     return 0;   }
#include <bits/stdc++.h>   using namespace std;   const int MAXN = 200005;   set<int> ab[MAXN][2];   int N, M, Q;   struct segTree {     int f, t, mini, maxi;     bool ans;     segTree *L, *R;     segTree(int _f, int _t) : f(_f), t(_t) {       ans = false;       mini = INT_MAX;       maxi = INT_MIN;       if (f != t) {         L = new segTree(f, (f + t) / 2);         R = new segTree((f + t) / 2 + 1, t);       }     }     void update(int x, int v, bool flag) {       if (f == t && t == x) {         if (flag)           maxi = v;         else           mini = v;         ans = maxi >= mini;         return;       }       if (x < R->f)         L->update(x, v, flag);       else         R->update(x, v, flag);       mini = min(R->mini, L->mini);       maxi = max(R->maxi, L->maxi);       ans = R->ans | L->ans | (R->maxi >= L->mini);     }   };   int main() {     scanf( %d %d %d , &N, &M, &Q);     segTree *tree = new segTree(0, N + 1);     for (int i = 0; i < Q; i++) {       int x, y;       scanf( %d %d , &x, &y);       x--, y--;       bool flag = (x & 1);       int mult = (flag ? -1 : 1);       if (ab[x / 2][flag].count((y / 2) * mult))         ab[x / 2][flag].erase((y / 2) * mult);       else         ab[x / 2][flag].insert((y / 2) * mult);       int val = INT_MAX;       if (flag) val = INT_MIN;       if (ab[x / 2][flag].size() > 0) val = abs(*ab[x / 2][flag].begin());       tree->update(x / 2, val, flag);       puts((!tree->ans ?  YES  :  NO ));     }     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int n, sum, m[17], r[17];   double ans;   int main() {     cin >> n;     for (int i = 1; i <= n; i++) cin >> m[i];     for (int i = 1; i <= n; i++) cin >> r[i];     for (int i = 1; i <= 999999; i++)       for (int j = 1; j <= n; j++)         if (i % m[j] == r[j]) {           sum++;           break;         }     ans = 1.0 * sum / 999999;     cout << ans;     return 0;   }
#include<bits/stdc++.h>   using namespace std;      #define ll long long   #define mtv(kit) cout<<#kit<<  -  <<kit<<  n ;   #define ff first   #define ss second   #define pb push_back   #define rep(i,a,b) for(ll i=a;i<b;i++)   #define pii pair<ll , ll>   #define all(x) x.begin(),x.end()   #define nl   n    #define ump unordered_map         void doit(){    ll b, g, k; cin >> b >> g >> k;    vector<pii>p(k);    vector<ll>B(b + 2), G(g + 2);    for(ll i = 0; i < k; i++){     cin >> p[i].ff;     B[p[i].ff]++;    }    for(ll i = 0; i < k; i++){     cin >> p[i].ss;     G[p[i].ss]++;    }    ll ans = 0;    for(ll i = 0; i < k ; i++){     ans += (k - i - 1) - (B[p[i].ff] + G[p[i].ss] - 2);     B[p[i].ff]--;     G[p[i].ss]--;    }    cout << ans << nl;   }      int main(){       ios_base::sync_with_stdio(false);       cin.tie(NULL);       ll t = 1;    cin >> t;       for(ll i = 1; i <= t; i++){           doit();       }   }
#include <bits/stdc++.h>   using namespace std;   int cnt[5];   int main() {     int n, t;     cin >> n;     memset(cnt, 0, sizeof(0));     for (int i = 0; i < n; i++) {       cin >> t;       cnt[t]++;     }     bool flag = true;     int ret = 0;     int minN = min(cnt[1], cnt[2]);     cnt[3] += minN;     cnt[1] -= minN;     cnt[2] -= minN;     ret += minN;     if (cnt[1] != 0) {       while (cnt[1] >= 3) {         cnt[3]++;         ret += 2;         cnt[1] -= 3;       }       if (cnt[1] == 1) {         if (cnt[3] > 0) {           cnt[4] + 1;           cnt[3]--;           cnt[1] = 0;           ret += 1;         } else if (cnt[4] >= 2) {           cnt[4] -= 2;           cnt[3] += 3;           cnt[1] = 0;           ret += 2;         } else           flag = false;       } else if (cnt[1] == 2) {         if (cnt[4] > 0) {           cnt[4] -= 1;           cnt[3] += 2;           ret += 2;           cnt[1] = 0;         } else if (cnt[3] >= 2) {           cnt[3] -= 2;           cnt[4] += 2;           cnt[1] = 0;           ret += 2;         } else           flag = false;       }     } else {       while (cnt[2] >= 3) {         cnt[2] -= 3;         ret += 2;         cnt[3] += 2;       }       if (cnt[2] == 1) {         if (cnt[4] > 0) {           cnt[4]--;           cnt[3] += 1;           cnt[2] = 0;           ret++;         } else if (cnt[3] > 1) {           cnt[4] += 2;           cnt[3] -= 2;           cnt[2] = 0;           ret += 2;         } else           flag = false;       } else if (cnt[2] == 2) {         cnt[2] = 0;         cnt[4]++;         ret += 2;       }     }     if (flag)       cout << ret << endl;     else       cout << -1 << endl;     return 0;   }
#include <bits/stdc++.h>   using namespace std;   int m, n, t, k;   int main() {     while (scanf( %d%d , &n, &k) == 2) {       if (k > n || (n >= 2 && k == 1))         printf( -1 n );       else if (k == 1)         printf( %c n ,  a );       else {         int m = n - (k - 2);         for (int i = 0; i < m; i++) printf( %c , i % 2 == 0 ?  a  :  b );         for (int i = 0; i < k - 2; i++) printf( %c ,  a  + 2 + i);         printf(  n );       }     }     return 0;   }