#include int main(void) { int n, m; scanf("%d", &n); for(int i = 0; i < n; i++){ scanf("%d", &m); int pole[m][2]; for(int j = 0; j < m; j++){ scanf("%d", &pole[j][0]); scanf("%d", &pole[j][1]); } int time = 0; bool konec = false; while(!konec){ for(int j = 0; j < m; j++){ if(pole[j][1]<=pole[j][0]){ konec = true; break; } if(j+1 < m) if(pole[j][0] >pole[j+1][1] || pole[j+1][0] > pole[j][1]){ konec = true; break; } if(j>0) if(pole[j][0] >pole[j-1][1] || pole[j-1][0] >pole[j][1]){ konec = true; break; } } if(konec) break; for(int j = 0; j < m; j++){ pole[j][0]++; } for(int j = 0; j < m; j++){ if(j+1 < m){ if(pole[j+1][0] < pole[j][0]){ pole[j+1][0] = pole[j][0]-1;} } if(j > 0){ if(pole[j-1][0] < pole[j][0]){ pole[j-1][0] = pole[j][0]-1;} } } time++; } printf("%d\n", time); } return 0; }