#include<iostream>#include<stdio.h>#include<string.h>using namespace std;int P, Q, A, N;int gcd(int a, int b){ int t; if(a < b){ t = a, a = b, b = t; } while(b!=0){ t = a % b; a = b; b = t; } return a;}int count(int v, int p, int q, int a, int n){ int ret = 0; if(p == 1 && q >= v){ ret++; } if(n<=1) return ret; int t, r, s; int np, nq; for(s = v; s*s<=a; s++){ np = p*s-q; nq = q*s; t = gcd(nq, np); nq /= t; if(np < 0 || s*nq>a){ continue; } np /= t; ret += count(s, np, nq, a/s, n-1); } return ret;}void fun(){ int t = gcd(P, Q); P /= t; Q /= t; int ret = count(1, P, Q, A, N); printf("%dn", ret);}int readIn(){ scanf("%d%d%d%d",&P,&Q,&A,&N); return P + Q + A + N;}int main(){ while(readIn() > 0){ fun(); } return 0;}