Задача №1851. Деньги Фирма Julick&Co ведет учет своих доходов и расходов. Но главный бухгалтер этой фирмы не любит математику, поэтому всякую сумму денег, которую фирма получает или отдает, он характеризует некоторым признаком. Например, сумму денег от 5 до 10 рублей он может охарактеризовать словом "МАЛО", а от 7 до 60 рублей словом "МНОГО". Время от времени он пересчитывает деньги и записывает признак суммы, которая имеется у фирмы. Недавно налоговая инспекция заинтересовалась доходами данной организации. Она хочет узнать, какая минимальная и максимальная сумма денег может быть сейчас у этой фирмы или выяснить, что имеется ошибка в ее записях. Известно, что по законам страны, где развиваются события, в любой момент времени организация должна обладать неотрицательной суммой денег.
Входные данные
Первая строка входного файла содержит K (1≤K≤100) – количество признаков, которые бухгалтер использует для описания различных сумм денег. На следующих K строках содержатся соответствующие признаки Si и числа Mini и Maxi. Si - слово, состоящие не более чем из 20 латинских букв, отделенное от последующих чисел одним пробелом, Mini и Maxi - целые положительные числа (1≤Mini≤Maxi≤1000), разделенные одним пробелом. Следующая строка содержит количество денег, которое было у фирмы в начале ее деятельности – целое число . Затем следует число N – количество записей в бухгалтерской книге фирмы Julick&Co (1≤N≤100). Следующие N строк содержат записи в следующем формате: первый символ строки из множества {"+", "-", "!"} означает вид операции – доход, расход или подсчет денег соответственно. Непосредственно за этим символом (без пробелов) следует признак, характеризующий сумму денег, использованную в операции.
Выходные данные
Если в учетных записях содержится ошибка, выведите в выходной файл число −1, в противном случае выведите числа Min и Max - наименьшую и наибольшую сумму денег, которая может быть у фирмы Julick&Co.
Примеры тестов
входные данные
3
LITTLE 1 5
MIDDLE 4 10
BIG 18 50
11
3
+MIDDLE
!BIG
-LITTLE
выходные данные
13 20
На паскале
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > -2.4 ) AND ( x < 5.7 ) then F := sqr(x)
else F := 4;
writeln('F = ', F);
end.
№2
var x, F: real;
begin
write('Введите х: ');
readln(x);
if ( x > 0.2 ) AND ( x < 0.9 ) then F := sin(x)
else F := 1;
writeln('F = ', F);
end.
№3
var a,b,c: real;
begin
write('Введите а: ');
readln(a);
write('Введите b: ');
readln(b);
write('Введите c: ');
readln(c);
if ( a < b ) AND ( b < c ) then writeln('a < b < c')
else
if ( b > a ) AND ( a > c ) then writeln('b > a > c')
else
writeln('Неравенства не выполняются');
end.
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>-2.4) and (x<5.7) then f:=sqr(x)
else f:=4;
Writeln('F=',f)
end.
var
x,f:real;
begin
Write('Введите x: '); Readln(x);
if (x>0.2) and (x<0.9) then f:=sin(x)
else f:=1;
Writeln('F=',f)
end.
var
a,b,c:real;
begin
Write('Введите три числа: '); Readln(a,b,c);
Write('Условие ',a,'<',b,'<',c);
if (b>a) and (b<c) then Writeln(' выполняется.')
else Writeln(' не выполняется.');
Write('Условие ',b,'>',a,'>',c);
if (a<b) and (a>c) then Writeln(' выполняется.')
else Writeln(' не выполняется.')
end.