#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector < pair<int, int> > point;
int main(){
int N,M;
cin >> N;
for (int i=0; i < N; i++){
cin >> M;
for (int j=0;j < M;j++){
int x,y;
cin >> x >> y;
point.push_back( make_pair(x,-1) );
point.push_back( make_pair(y, 1) );
}
}
sort (point.begin(), point.end() );
int open = 0;
int sum = 0;
int prev = 0;
for (auto x : point){
if (open == N)
sum += x.first - prev;
open -= x.second;
if (open == N)
prev = x.first;
}
cout << sum;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yIDwgcGFpcjxpbnQsIGludD4gPiBwb2ludDsKICAgCmludCBtYWluKCl7CiAgICBpbnQgTixNOwogICAgY2luID4+IE47CiAgICBmb3IgKGludCBpPTA7IGkgPCBOOyBpKyspewogICAgICAgIGNpbiA+PiBNOwogICAgICAgIGZvciAoaW50IGo9MDtqIDwgTTtqKyspewogICAgICAgICAgICBpbnQgeCx5OwogICAgICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgICAgICBwb2ludC5wdXNoX2JhY2soIG1ha2VfcGFpcih4LC0xKSApOwogICAgICAgICAgICBwb2ludC5wdXNoX2JhY2soIG1ha2VfcGFpcih5LCAxKSApOwogICAgICAgIH0KICAgIH0KICAgIHNvcnQgKHBvaW50LmJlZ2luKCksIHBvaW50LmVuZCgpICk7CiAgICBpbnQgb3BlbiA9IDA7CiAgICBpbnQgc3VtID0gMDsKICAgIGludCBwcmV2ID0gMDsKICAgIGZvciAoYXV0byB4IDogcG9pbnQpewogICAgICAgICBpZiAob3BlbiA9PSBOKQogICAgICAgICAgICBzdW0gKz0geC5maXJzdCAtIHByZXY7IAogICAgICAgICBvcGVuIC09IHguc2Vjb25kOwogICAgICAgICBpZiAob3BlbiA9PSBOKQogICAgICAgICAgICBwcmV2ID0geC5maXJzdDsgCiAgICAgfQogICAgY291dCA8PCBzdW07Cn0=