question and discussion link https://discuss.codechef.com/questions/135298/andsqr-editorial
somebody explain bit easier what the editor was doing here ; not able to understand
LL fsu[31][N]; for(i=0;i<31;i++)//Initialize fsu[i][n]=n+1; for(i=n-1;i>=1;i--) { for(j=0;j<31;j++) { if((1<<j)&a[i+1])//If the bit is set fsu[j][i]=fsu[j][i+1]; else //If the bit changes fsu[j][i]=i+1; } }