     CUDA_CHECK();
 
     CUDA_CALL( cudaMemcpy(ans, dB, n * sizeof(int), cudaMemcpyDeviceToHost) );
-    CUDA_CALL( cudaMemcpy(pref_b, dCT, numBlocks * sizeof(int), cudaMemcpyDeviceToHost) );
-    // printf("\n -- %d -- \n", cudaMemcpy(ans, dB, n * sizeof(int), cudaMemcpyDeviceToHost));
 
-#if 1
+#if 0
     for (int i = 0; i < n; ++i) {
       printf("%d ", A[i]);
     }

    if (!ok) {
      printf("Problem with prefix sum on test case : %d, element %d\n", tc, idx);
      printf("%d != %d\n", B[idx], ans[idx]);
      printf("%d == %d\n", B[idx - 1], ans[idx - 1]);
      exit(1);
    }


{printf("Error %s at %s:%d\n", cudaGetErrorString(cudaGetLastError()), \
    __FILE__,__LINE__-1); exit(-1);}

const int THPB = 1024;
const int ELPB = THPB << 1;

__global__ void pref_sum_parallel(int *A, int *B, int n) {
