#include <iostream>
using namespace std;

struct RegExp
	{
      char Reg[1024],Alph[1024];
      int LenReg, LenAlph;
	};

char GetChar () {return exp.reg[i++];}

bool prin(char p)
	{
	bool tmp = false;
	for (n = 0; n < exp.LenAlph; n++)
		{
		if (exp.Alph[n] == p) tmp = true;
		}
		
	return tmp;
	}

void A();
	{
	p = GetChar();
	if (p = '(') { p = GetChar(); A(); C();}
	if (prin(p)) {}
	if (prin(p)) {}
	}
int main ()
	{
	char p;
	RegExp exp;
	int n, k, i = 0;
	
	exp.LenAlph = 0;
	cin >> exp.Reg;
	cout << exp.Reg;
	exp.LenReg = strlen(exp.Reg);
	cout << exp.LenReg;
	for (k = 0; k < exp.LenReg; k++)
		{
		bool a,q = true;
		
		for (n = 0; n < exp.LenAlph; n++)
			{
			a = (exp.Reg[k] == '|') || (exp.Reg[k] == ')') || (exp.Reg[k] == '(') || (exp.Reg[k] == '*') || (exp.Reg[k] == '+');
			if ((exp.Alph[n] == exp.Reg[k]) || a) q = false;
			}
		if (q) 
			{
			exp.Alph[exp.LenAlph] = exp.Reg[k];
			exp.LenAlph++;
			}
		}
	cout << exp.Alph;
	cout << exp.LenAlph;
	
	for(;;);
	A();
	
	return 0;
	}
	
	
