 
 const int MV = 15;
 int main() {
-  int lengths[] = {16, 1024, 12288, 1048576, 10002432}; // 2048 * X <= 10002432
+  int lengths[] = {16, 1024, 12288, 1048576, 2097152}; // X  <= 1024 * 2048
   srand(time(0));
-  for (int tc = 0; tc < 1; ++tc) {
+  for (int tc = 0; tc < 5; ++tc) {
     int n = lengths[tc];
     int *A = new int[n], *B = new int[n];
     for (int i = 0; i < n; ++i)

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

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

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

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

