#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1E5+5;
int a,b,p,vis[N],fa[N],f[N],cnt;
vector<int> prime;
int find(int u){
return fa[u]==u?u:fa[u]=find(fa[u]);
}
void merge(int x,int y){
x=find(x),y=find(y);
cout<<x<<' '<<find(x)<<' '<<y<<' '<<find(y)<<endl;
if(x==y) return ;
fa[y]=x;
}
void init(){
for(int i=p;i<=b;i++){
if(!vis[i]){
prime.emplace_back(i);
for(int j=2;i*j<=b;j++) vis[i*j]=1;
}
}
}
signed main(){
cin>>a>>b>>p;
init();
for(int i=a;i<=b;i++) fa[i]=i;
for(auto x:prime){
int k=0;
while(x*k<a) k++;
while(x*(k+1)<=b){
merge(x*k,x*(k+1));
k++;
}
}
for(int i=a;i<=b;i++) cnt+=(fa[i]==i);
cout<<cnt<<endl;
return 0;
}