func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   int keep[201];   int tt[201];   int first[201];   int main() {     while (cin >> n) {       n *= 2;       int sum = 0, n1 = 0, n2 = 0, s1 = 0, s2 = 0;       memset(keep, 0, sizeof(keep));       memset(first, 0, sizeof(first));       for (int i = 0; i < n; i++) {         int a;         cin >> a;         keep[a]++;         tt[i] = a;       }       for (int i = 10; i < 100; i++) {         if (keep[i] > 1) {           s1++;           s2++;           if (n1 > n2)             n1 += keep[i] / 2, n2 += (keep[i] - keep[i] / 2), first[i] = 2;           else             n2 += keep[i] / 2, n1 += (keep[i] - keep[i] / 2), first[i] = 1;         } else if (keep[i] == 1)           sum++;       }       int turn = 1;       if (s1 > s2) {         turn = 2;         s1 += sum / 2;         s2 += (sum - sum / 2);       } else {         turn = 2;         s2 += sum / 2;         s1 += (sum - sum / 2);       }       cout << s1 * s2 << endl;       for (int i = 0; i < n; i++) {         if (keep[tt[i]] > 1) {           cout << first[tt[i]];           first[tt[i]] = (first[tt[i]] == 2 ? 1 : 2);         } else if (keep[tt[i]] == 1) {           cout << turn;           turn = (turn == 2 ? 1 : 2);         }         if (i < n - 1)           cout <<    ;         else           cout << endl;       }     }   }   