#include<stdio.h>
#include<string.h>
#define INF 10000


int F[20][20], P[20], W[20], N, size;

int max(int a, int b) {
	return a > b ? a: b;
}

int Count(int n, int m) {
	if(n == 0) return 0;
	if(m < 0 ) return -INF;
	if(F[n][m]) return F[n][m];
	F[n][m] = max((Count(n-1,m-W[n]) + P[n]), Count(n-1,m));
	return F[n][m];
}


int main() {
	scanf("%d",&N);
	for(int i = 1; i<= N; i++)
		scanf("%d%d",&P[i],&W[i]);
	scanf("%d",&size);
	printf("Max price: %d\n",Count(N,size));
	
	return 0;
}