#include #include #define MAX 2703664 int prime[ MAX ] = { 0 } , divide[ MAX ] = { 0 } , *f ; int main() { int i , j , k , n , num = 1 , tmp = (int)sqrt( MAX ); printf("%d\n", tmp*tmp*tmp); for( i = 2 ; i<=tmp ; i++ ) for( j = i ; !prime[ i ] && i*j < MAX ; j++ ) for( k = i*j ; !prime[ j ] && k < MAX && k>0 ; k *= i ) { prime[ k ] = 1 ; divide[ k ] = i ; } f = prime ; for( f[2] =1 , i = 3 ; i= 0 ) { printf( "Case %d:" , num++ ) ; for( i = 0 , j = MAX-1 , k = ( MAX-1 )/2 ; ; k = ( i+j )/2 ) { if( jf[ k ] ) i = k+1 ; else if( n