func_code_string: #include <bits/stdc++.h>   using namespace std;   int N;   pair<int, int> Result[100005];   bool Use[100005];   int counter, Array[100005];   void buildArray(int prime) {     Array[0] = 0;     for (int k = prime; k <= N; k += prime) {       if (Use[k] == 0) {         Array[++Array[0]] = k;         Use[k] = 1;       }     }   }   void makeArrayValid() {     if (Array[0] % 2 == 0) return;     Use[Array[2]] = 0;     swap(Array[Array[0]], Array[2]);     Array[0]--;   }   void addToResult() {     int i;     for (i = 1; i <= Array[0]; i += 2) {       Result[++counter].first = Array[i];       Result[counter].second = Array[i + 1];     }   }   void Eratostenes() {     int i, j;     int last = 3;     for (i = 3; i <= N / 2; i += 2) {       if (Use[i] == 1) continue;       buildArray(i);       makeArrayValid();       addToResult();     }     buildArray(2);     makeArrayValid();     addToResult();   }   int main() {     cin >> N;     Eratostenes();     cout << counter <<   n ;     for (int i = 1; i <= counter; i++)       cout << Result[i].first <<     << Result[i].second <<   n ;     return 0;   }   