SUPERPC
  • Параллельные вычисления
    PARALLEL CALCULATIONS


Описание

Широко известная компьютерная фирма выпустила на рынок новый суперкомпьютер, способный выполнять параллельные вычисления на N процессорах. Для этого суперкомпьютера был разработан специальный язык программирования, в который встроены операторы PAR и SEQL - операторы явного указания на параллельный или последовательный характер вычислений операторов, которые следуют за ключевыми словами PAR или SEQL. Каждый оператор должен заканчиваться знаком точки с запятой. Последовательность операторов может заключаться в операторные скобки "{" и "}" (как, например, в языке Си). За ключевыми словами PAR или SEQL обязательно следуют операторные скобки. В начале программы SEQL может не указываться, т.к. предполагается, что вычисления выполняются последовательно.

Задача
Найти максимальное число параллельно работающих процессоров, которое может потребоваться для выполнения заданной программы.

Например, последовательность операторов

PAR {
         for (i=0; i<n; i++)  alpha[i][j]+=alpha[i+1][j+1];
         if (Num==func(c,d))  r+=f(Num,34.15);
        }

потребует для выполнения 2 процессора, т.к. в операторных скобках после PAR стоят два оператора.


Последовательность операторов

SEQL
{
           a=b; b=c; c=a;
          }

выполняется на одном процессоре.


А последовательность операторов

PAR
{
        d=4;  a=3.14*r;
        PAR {
                 s1=1;  s2=2;  s3=3;
                }
       }

потребует для выполнения 5 процессоров.

Технические условия

Входной файл:
SUPERPC.IN
Выходной файл: SUPERPC.OUT

Входной файл
Программа для суперкомпьютера. Комментарии в программе не допускаются. Длина файла не более 10000 символов. Количество символов в строке не превышает 100

Выходной файл
Целое число - максимальное число параллельно работающих процессоров

Например:

SUPERPC.IN
PAR
         d=4;  a=3.14*r; 
         PAR
                  s1=1;  s2=2;  s3=3;
                 } 
        }

SUPERPC.OUT
5