/** * Unit Fraction Partition (PKU 1980) * by Kenji Inoue, 2006-12-31 **/ #include using namespace std; #define EPS (1e-8) #define EQ(a,b) ((a) - EPS < (b) && (b) < (a) + EPS) int p, q, a; double lhs; // left hand side int solve(int n, int d, int prod, double sum) { int cnt=0; for (int i=d; prod*i<=a; i++) { double rhs = sum + 1.0/i; // right hand side if (lhs < rhs - EPS) { continue; } if (EQ(lhs, rhs)) { cnt++; continue; } if (n == 1) { continue; } cnt += solve(n-1, i, prod * i, rhs); } return cnt; } int main() { int n; while (cin >> p >> q >> a >> n, (p || q || a || n)) { lhs = (double)p / (double)q; cout << solve(n, 1, 1, 0) << endl; } return 0; }