Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main()
- {
- int tst;
- cin >> tst;
- while (tst--) {
- int n;
- cin >> n;
- cout<<n<<endl;
- if (n == 1) {cout << "1\n1 1\n"; continue;}
- int m[n + 1] = {0};
- vector<int>v[n / 2];
- v[0].push_back(1);
- int x = 0;
- for (int i = 2; i <= n; i+=2)
- {
- m[i]++;
- v[x++].push_back(i);
- }
- for (int i = 3; i <= n; i+=2)
- {
- x = 0;
- if(!m[i]){
- for (int j = i; j <= n; j+=2*i)
- {
- if(!m[j]){
- if((x+1)%i==0){
- x++;
- }
- if(x<n/2)v[x++].push_back(j),m[j]++;
- else break;
- }
- }
- }
- }
- cout << n / 2 << "\n";
- for (int i = 0; i < n / 2; i++) {
- cout << v[i].size() << " ";
- for (int j = 0; j < v[i].size(); j++)cout << v[i][j] << " ";
- cout << "\n";
- }
- cout<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement