请问哪里出错了
https://www.luogu.com.cn/problem/T175211
#include<stdio.h>
int main() {
int m,n,i,count,flag=1;
scanf("%d %d",&m,&n);
if(m<=2) {
count=2;
for(m=4; m<=n; m++) {
for(i=2; i<m; i++) {
if(m%i==0) {
flag=0;
break;
} else flag=1;
}
if(flag==1) count++;
}
} else if(m>=3) {
count=1;
for(m=4; m<=n; m++) {
for(i=2; i<m; i++) {
if(m%i==0) {
flag=0;
printf("%d ",m);
break;
} else flag=1;
}
if(flag==1) count++;
}
}
printf("%d",count);
}