>>645訂正
>   if( p < can * can || i >= found ) {

   if( p < (__int64)can * can || i >= found ) {