#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct node
{
int l, r;
}p[303];
bool vis[303];
int n;
bool cmp(node a, node b)
{
return a.r < b.r || a.r == b.r && a.l > b.l;
}
int main()
{
int i, j, k;
int ll, rr;
while( ~scanf("%d", &n) && n)
{
ll = 1003; rr = -1;
for(i = 0; i < n; i++)
{
scanf("%d%d", &p[i].l, & p[i].r);
if(p[i].l < ll) ll = p[i].l;
if(p[i].r > rr) rr = p[i].r;
}
sort(p, p+n, cmp);
int cnt, ans = -1;
for(k = 0; k <= 4; k++)
{
cnt = 0;
memset(vis, 0, sizeof(vis));
for(i = k+ll; i <= rr; i += 5)
{
for(j = 0; j < n; j++)
{
if(vis[j]) continue;
if(i >= p[j].l && i < p[j].r)break;//注意左边取得到,右边取不到
}
if(j == n) continue;
vis[j] = 1;
//printf("i = %d j = %d\n", i, j);
cnt++;
}
if(cnt > ans ) ans = cnt;
}
printf("%d\n", ans);
}
return 0;