/* 数塔的变形,看了别人的报告才看出来 dp[i][j] 为i-max秒内的第j位置可以得到的 最大饼数,最后dp[0][5] 就是从0秒开始到最大时间 截止,5号位置可以得到的最大饼数*/#include<iostream>using namespace std;#define M 101int dp[M][11];int Max( int a , int b , int c ){ int m; m = a > b ? a : b; m = c > m ? c : m; return m;}int n;int main(){ int _max , i , j , x , tim; while( scanf( "%d" , &n ) != EOF , n ) { _max = 0; memset( dp , 0 , sizeof( dp ) ); for( i = 0 ; i < n ; ++i ) { scanf( "%d %d" , &x , &tim ); ++dp[tim][x]; if( tim > _max ) { _max = tim; } } for( i = _max - 1 ; i >= 0 ; --i ) { dp[i][0] += Max( 0 , dp[i + 1][0] , dp[i + 1][1] ); for( j = 1 ; j < 10 ; ++j ) { dp[i][j] += Max( dp[i + 1][j - 1] , dp[i + 1][j] , dp[i + 1][j + 1] ); } dp[i][10] += Max( dp[i + 1][9] , dp[i + 1][10] , 0 ); } printf( "%d/n" , dp[0][5] ); } return 0;}