#include<iostream>
#include<algorithm>
using namespace std;
int p,q,a,n;
inline bool ge(int a,int b,int c,int d){
  return a*d <= b*c;
}
inline bool eq(int a,int b,int c,int d){
  return a*d == b*c;
}
int func(int np,int nq,int nn,int nu){
  if(nn == n){
    return eq(p,q,np,nq);
  }
  if(ge(p,q,np,nq)){
    return eq(p,q,np,nq);
  }
  if(nq*nu>a)return 0;
  int res = func(np,nq,nn,nu+1);
  np *= nu;
  np += nq;
  nq *= nu;
  res += func(np,nq,nn+1,nu);
  return res;
}
int main(){
  while(cin>>p>>q>>a>>n&&p){
    cout << func(0,1,0,1) << endl;
  }
  return 0;
}

