//make a program to take an array and tell all sum of number of prime factors of it..
//so make a seive array of the least prime factor of all numbers
#include<bits/stdc++.h>
using namespace std;
#define n 1000000
int main(){
vector<int> leasp(n,0);
leasp[0]=0;
leasp[1]=0;
for(int i=2;i*i<n;i++)
{
if(leasp[i]==0){//the inner loop would run only for primes
for(int j=i*i;j<n;j+=i)
{
if(leasp[j]==0){
leasp[j]=i;
}
}
}
}
//then for all of the primes we have to put that value to it
for(int i=2;i<n;i++)
{
if(leasp[i]==0)
{
leasp[i]=i;
}
}
for(int i=0;i<50;i++)
{
cout<<leasp[i]<< " ";
}
}
Ly9tYWtlIGEgcHJvZ3JhbSB0byB0YWtlIGFuIGFycmF5IGFuZCB0ZWxsIGFsbCBzdW0gb2YgbnVtYmVyIG9mIHByaW1lIGZhY3RvcnMgb2YgaXQuLgovL3NvIG1ha2UgYSBzZWl2ZSBhcnJheSBvZiB0aGUgbGVhc3QgcHJpbWUgZmFjdG9yIG9mIGFsbCBudW1iZXJzCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbiAxMDAwMDAwCmludCBtYWluKCl7CgogICAgdmVjdG9yPGludD4gbGVhc3AobiwwKTsKICAgIGxlYXNwWzBdPTA7CiAgICBsZWFzcFsxXT0wOwogICAgZm9yKGludCBpPTI7aSppPG47aSsrKQogICAgewogICAgICAgIGlmKGxlYXNwW2ldPT0wKXsvL3RoZSBpbm5lciBsb29wIHdvdWxkIHJ1biBvbmx5IGZvciBwcmltZXMKICAgICAgICAgICAgZm9yKGludCBqPWkqaTtqPG47ais9aSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYobGVhc3Bbal09PTApewogICAgICAgICAgICAgICAgICAgIGxlYXNwW2pdPWk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAvL3RoZW4gZm9yIGFsbCBvZiB0aGUgcHJpbWVzIHdlIGhhdmUgdG8gcHV0IHRoYXQgdmFsdWUgdG8gaXQKICAgIGZvcihpbnQgaT0yO2k8bjtpKyspCiAgICB7CiAgICAgICAgaWYobGVhc3BbaV09PTApCiAgICAgICAgewogICAgICAgICAgICBsZWFzcFtpXT1pOwogICAgICAgIH0KICAgIH0KICAgIGZvcihpbnQgaT0wO2k8NTA7aSsrKQogICAgewoKICAgICAgICBjb3V0PDxsZWFzcFtpXTw8ICIgIjsKICAgIH0KfQo=