#include<bits/stdc++.h>
#define int long long
typedef long long ll;
using namespace std;
const int N=1e6+5;
int primes[N],cnt;
bool st[N];
int dashu[N];
void get_primes(int n)
{
for (int i = 2; i <= n; i ++ )
{
if (!st[i]) primes[cnt ++ ] = i;
for (int j = 0; primes[j] <= n / i; j ++ )
{
st[primes[j] * i] = true;
if (i % primes[j] == 0) break;
}
}
}
void qujianshai(int l,int r){
for(int i=0;i<=r-l;i++){
dashu[i]=i+l;
}
for(int i=0;i<cnt;i++){
int x=max(1LL*2,l/primes[i]);
for(int j=x*primes[i];j<=r;j=j+primes[i]){
if(j>=l){
if(dashu[j-l]==j){
dashu[j-l]=primes[i];
}
}
}
}
}
signed main()
{
get_primes(N);
int s,e,k;
cin >> s >> e >> k;
qujianshai(s,e);
sort(dashu,dashu+e-s+1);
int res=0;
for(int i=0;i<k;i++){
cout << dashu[i] << endl;
res=res+dashu[i];
}
cout << res << endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
vector<int>a;
vector<int>b;
int main()
{
int n;
cin >> n;
for(int i=1;i<=n;i++){
char c;
int x;
cin >> c >> x;
if(c=='+'){
a.push_back(x);
}
else{
b.push_back(x);
}
}
sort(a.begin(),a.end());
sort(b.begin(),b.end());
double ans=0;
for(int i = 0; i < b.size();i++){
ans=ans+a.end()-upper_bound(a.begin(),a.end(),b[i]);
}
printf("%.10lf\n",ans/(a.size()*b.size()));
return 0;
}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
pair<int, int> v[8005];
ll ans, cnt;
namespace GenHelper
{
unsigned z1, z2, z3, z4, b, u;
unsigned get()
{
b = ((z1 << 6) ^ z1) >> 13;
z1 = ((z1 & 4294967294U) << 18) ^ b;
b = ((z2 << 2) ^ z2) >> 27;
z2 = ((z2 & 4294967288U) << 2) ^ b;
b = ((z3 << 13) ^ z3) >> 21;
z3 = ((z3 & 4294967280U) << 7) ^ b;
b = ((z4 << 3) ^ z4) >> 12;
z4 = ((z4 & 4294967168U) << 13) ^ b;
return (z1 ^ z2 ^ z3 ^ z4);
}
bool read() {
while (!u) u = get();
bool res = u & 1;
u >>= 1; return res;
}
void srand(int x)
{
z1 = x;
z2 = (~x) ^ 0x233333333U;
z3 = x ^ 0x1234598766U;
z4 = (~x) + 51;
u = 0;
}
}
using namespace GenHelper;
bool edge[8005][8005];
int main() {
int n, seed;
cin >> n >> seed;
srand(seed);
for (int i = 0; i < n; i++){
for (int j = i + 1; j < n; j++){
edge[j][i] = edge[i][j] = read();
if (edge[i][j]){
v[i].first++;
v[j].first++;
}
else{
v[i].second++;
v[j].second++;
}
}
}
for (int i = 0; i < n; i++){
ans += (ll)v[i].first * (v[i].first - 1) / 2 + (ll)v[i].second * (v[i].second - 1) / 2;
cnt += (ll)v[i].first * v[i].second;
}
cout << (ans - cnt / 2) / 3 << endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
string p = "chokudai";
const int M=1e9+7;
int f[8];
int main()
{
string s;
cin >> s;
int len=s.length();
for(int i=0;i<len;i++){
for(int j=7;j>=0;j--){
if(s[i]==p[j]){
if(j==0) f[j]++;
else f[j]=(f[j]+f[j-1])%M;
}
}
}
cout << f[7] << endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n;
int h[N], e[N], ne[N], idx;
int dist[N];
bool st[N];
const int M=1e9+7;
int ans[N];
void add(int a, int b)
{
e[idx] = b, ne[idx] = h[a], h[a] = idx ++ ;
}
void spfa(){
memset(dist, 0x3f, sizeof dist);
dist[1] = 0;
queue<int> q;
q.push(1);
st[1] = true;
ans[1]=1;
while (q.size())
{
int t = q.front();
q.pop();
st[t] = false;
for (int i = h[t]; i != -1; i = ne[i])
{
int j = e[i];
if (dist[j] > dist[t] + 1)
{
dist[j] = dist[t] + 1;
ans[j]=ans[t];
if (!st[j])
{
q.push(j);
st[j] = true;
}
}
else if(dist[j] == dist[t] + 1){
ans[j]=(ans[j]+ans[t])%M;
}
}
}
}
int main()
{
memset(h, -1, sizeof(h));
int n,m;
cin >> n >> m;
for(int i=1;i<=m;i++){
int x,y;
cin >> x >> y;
add(x,y);
add(y,x);
}
spfa();
cout << ans[n] << endl;
return 0;
}