#include int Solve(int depth,int shi,int bo,int prev,int p,int q,int a,int n) { int ans = 0; if(p*bo == shi*q)return 1; if(p*bo < shi*q || depth == n)return 0; for(int i = prev ; bo*i <= a ; i++) ans += Solve(depth+1,shi*i+bo,bo*i,i,p,q,a,n); return ans; } int main() { int p,q,a,n; while(cin >> p >> q >> a >> n , p && q && a && n) cout << Solve(0,0,1,1,p,q,a,n) << endl; return 0; }