could anyone plz help me?

[c]#include <iostream>

using namespace std;

int main(void) {

int primes[25]= { 2,3,5,7,11,13,17,19,23,29,31,37,41,43,

47,53,59,61,67,71,73,79,83,89,97 };

int pnums[25], df[25], n, i, j, fact, out;

long long d;

while (cin>>n>>d) {

if (!n&&!d) break;

if (d<0) d = -d;

for (i=0;i<25;i++)

pnums

*= df*

*= 0;*

for (i=0;i<25&&d!=1;i++) {

while (!(d%primesfor (i=0;i<25&&d!=1;i++) {

while (!(d%primes

*)) {*

d /= primesd /= primes

*;*

dfdf

*++;*

}

}

/* if d has prime factors which are bigger than 100 */

if (d>1) {

cout << "0" << endl;

continue;

}

for (i=2;i<=n;i++) {

fact = i;

for (j=0;j<25&&fact!=1;j++)

while (!(fact%primes[j])) {

fact /= primes[j];

pnums[j]++;

}

}

for (i=0;i<25;i++) {

pnums}

}

/* if d has prime factors which are bigger than 100 */

if (d>1) {

cout << "0" << endl;

continue;

}

for (i=2;i<=n;i++) {

fact = i;

for (j=0;j<25&&fact!=1;j++)

while (!(fact%primes[j])) {

fact /= primes[j];

pnums[j]++;

}

}

for (i=0;i<25;i++) {

pnums

*-= df**;*

if (pnumsif (pnums

*<0) break;*

}

if (i<25) { cout << "0" << endl; continue; }

for (i=0,out=1;i<25;i++)

out *= (pnums}

if (i<25) { cout << "0" << endl; continue; }

for (i=0,out=1;i<25;i++)

out *= (pnums

*+1);*

cout << out << endl;

}

return 0;

} [/c]cout << out << endl;

}

return 0;

} [/c]