/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <iostream>
#include <vector>
#include <map>
using namespace std;
using vi=std::vector<int>;
using mii=std::map<int,int>;
int lastprime(vi & primes){
// bool isprimre=true;
auto it=primes.begin();
auto end=primes.end();
int i=primes.back()+1;
for (;it!=end;i++)
for(it=primes.begin();it!=end;it++){
if(i%(*it)==0) {
break;}
}i--;
primes.push_back(i);
return i;
}
int main()
{
vi v{2};
mii m {};
int num=15593760;
while (num!=1 ){
int currentnum=v.back();
while (num%currentnum==0){
m[currentnum]++;
num/=currentnum;
}
lastprime(v);
}
for(const auto &x:m) std::cout << x.first<< " wystepuje "<<x.second<<" razy"<<std::endl;
std::cout<< std::endl;
while (lastprime(v)<10);
// for(const auto &x:v) std::cout << x<<' ';
std::cout<< std::endl;
return 0;
}