#include <iostream>

using namespace std;

const char * hello = "++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.";

char mem[1000];
int index;
int ip;

int main()
{
	for(int i=0;i<1000;i++)
		mem[i] = 0;
	const char * prog = hello;
	ip = 0;
	index = 0;
	while (*(prog+ip)!=0)
	{
		switch(*(hello+ip))
		{
		case '+':
			mem[index]++;
			break;
		case '-':
			mem[index]--;
			break;
		case '[':
			if (mem[index] == 0)
			{
				while (*(prog+ip) != ']')
					ip++;
			}
			break;
		case ']':
			if (mem[index] != 0)
			{
				while (*(prog+ip) != '[')
					ip--;
			}
			break;
		case '.':
			cout << mem[index];
			break;
		case ',':
			cin >> mem[index];
			break;
		case '>':
			index++;
			break;
		case '<':
			index--;
			break;
		}
		ip++;
	}

	system("pause");
	return 0;
}
