PAT1013测试点4为什么过不了?

#include
using namespace std;

int main()
{
bool *a = new bool[10005];
for (int i = 2; i < 10005; i++) {
a[i] = true;
}
for (int i = 2; i < 10005; i++) {
if (a[i]) {
for (int j = i + i; j <= 10005; j += i) {
a[j] = false;
}
}
}
int *b = new int[5000];
int k = 1;
for (int i = 2; i < 10005; i++) {
if (a[i]) {
b[k] = i;
k++;
}
}
int n, m;
int w = 0;
cin >> n >> m;
for (int i = n; i <= m; i++) {
w++;
if (i == m)cout << b[i] << endl;
else {
if (w % 10 == 0) {
cout << b[i] << endl;
}
else { cout << b[i] << " "; }
}

}
delete[]a;
delete[]b;

}

if (arr.size() == 10000)break;  //产生10000个素数,而不是0到10000之间的素数