Program bf5_stack;
 
 LABEL prev,next;
var
 a : array[1..10] of integer;
 size : integer;
 data_arr:array[1..10] of integer;    // массив данных
 str_arr: string;                     // команды  
 i,j,k: integer;                      // индексы строки и массива
 i_stor: integer; 
 
//Stack
procedure push(c : integer);
 begin
  a[size+1] := c; 
  size := size + 1;
 end;
 
 procedure pop;
 begin
  size := size - 1;
 end;
{---------------------------------------------------}
begin
 j:=1;   // нумерация элементов массива начинается с единицы
 i:=1;
 size := 0; {Изначально стек пуст}
 //readln(str_arr);       //считываем строку
 //str_arr:='+++[>+++[>+<-]<-]';           // 3*3=9
 str_arr:='+++[> +++[>+++[>+<-]<-] <-]';  //  3^3=27 
 
 prev:
 if i>length(str_arr) then goto next; 
    if (str_arr[i]='+') then data_arr[j]:= data_arr[j]+1;
    if (str_arr[i]='-') then data_arr[j]:= data_arr[j]-1;
    if (str_arr[i]='>') then j:=j+1;
    if (str_arr[i]='<') then j:=j-1;
    if (str_arr[i]='.') then write(chr(data_arr[j]));
    // скобки
    if (str_arr[i]='[') then Push(i);
 
    if (str_arr[i]=']') then
      begin
      Pop();
      if (data_arr[j]>0) then 
       begin
        i := a[size+1];
        goto prev;
       end;
      end;
 i:=i+1;
 goto prev;
 next:
for k:=1 to 10 do begin 
write(data_arr[k]);
write(' ');
end;
end.
				UHJvZ3JhbSBiZjVfc3RhY2s7CiAKIExBQkVMIHByZXYsbmV4dDsKdmFyCiBhIDogYXJyYXlbMS4uMTBdIG9mIGludGVnZXI7CiBzaXplIDogaW50ZWdlcjsKIGRhdGFfYXJyOmFycmF5WzEuLjEwXSBvZiBpbnRlZ2VyOyAgICAvLyDQvNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFCiBzdHJfYXJyOiBzdHJpbmc7ICAgICAgICAgICAgICAgICAgICAgLy8g0LrQvtC80LDQvdC00YsgIAogaSxqLGs6IGludGVnZXI7ICAgICAgICAgICAgICAgICAgICAgIC8vINC40L3QtNC10LrRgdGLINGB0YLRgNC+0LrQuCDQuCDQvNCw0YHRgdC40LLQsAogaV9zdG9yOiBpbnRlZ2VyOyAKCi8vU3RhY2sKcHJvY2VkdXJlIHB1c2goYyA6IGludGVnZXIpOwogYmVnaW4KICBhW3NpemUrMV0gOj0gYzsgCiAgc2l6ZSA6PSBzaXplICsgMTsKIGVuZDsKIAogcHJvY2VkdXJlIHBvcDsKIGJlZ2luCiAgc2l6ZSA6PSBzaXplIC0gMTsKIGVuZDsKey0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLX0KYmVnaW4KIGo6PTE7ICAgLy8g0L3Rg9C80LXRgNCw0YbQuNGPINGN0LvQtdC80LXQvdGC0L7QsiDQvNCw0YHRgdC40LLQsCDQvdCw0YfQuNC90LDQtdGC0YHRjyDRgSDQtdC00LjQvdC40YbRiwogaTo9MTsKIHNpemUgOj0gMDsge9CY0LfQvdCw0YfQsNC70YzQvdC+INGB0YLQtdC6INC/0YPRgdGCfQogLy9yZWFkbG4oc3RyX2Fycik7ICAgICAgIC8v0YHRh9C40YLRi9Cy0LDQtdC8INGB0YLRgNC+0LrRgwogLy9zdHJfYXJyOj0nKysrWz4rKytbPis8LV08LV0nOyAgICAgICAgICAgLy8gMyozPTkKIHN0cl9hcnI6PScrKytbPiArKytbPisrK1s+KzwtXTwtXSA8LV0nOyAgLy8gIDNeMz0yNyAKIAogcHJldjoKIGlmIGk+bGVuZ3RoKHN0cl9hcnIpIHRoZW4gZ290byBuZXh0OyAKICAgIGlmIChzdHJfYXJyW2ldPScrJykgdGhlbiBkYXRhX2FycltqXTo9IGRhdGFfYXJyW2pdKzE7CiAgICBpZiAoc3RyX2FycltpXT0nLScpIHRoZW4gZGF0YV9hcnJbal06PSBkYXRhX2FycltqXS0xOwogICAgaWYgKHN0cl9hcnJbaV09Jz4nKSB0aGVuIGo6PWorMTsKICAgIGlmIChzdHJfYXJyW2ldPSc8JykgdGhlbiBqOj1qLTE7CiAgICBpZiAoc3RyX2FycltpXT0nLicpIHRoZW4gd3JpdGUoY2hyKGRhdGFfYXJyW2pdKSk7CiAgICAvLyDRgdC60L7QsdC60LgKICAgIGlmIChzdHJfYXJyW2ldPSdbJykgdGhlbiBQdXNoKGkpOwogICAgICAgICAgCiAgICBpZiAoc3RyX2FycltpXT0nXScpIHRoZW4KICAgICAgYmVnaW4KICAgICAgUG9wKCk7CiAgICAgIGlmIChkYXRhX2FycltqXT4wKSB0aGVuIAogICAgICAgYmVnaW4KICAgICAgICBpIDo9IGFbc2l6ZSsxXTsKICAgICAgICBnb3RvIHByZXY7CiAgICAgICBlbmQ7CiAgICAgIGVuZDsKIGk6PWkrMTsKIGdvdG8gcHJldjsKIG5leHQ6CmZvciBrOj0xIHRvIDEwIGRvIGJlZ2luIAp3cml0ZShkYXRhX2FycltrXSk7CndyaXRlKCcgJyk7CmVuZDsKZW5kLg==