#include <stdio.h>
static int G_END = 0;
static int G_CASE_END = 0;
static int start = 0;
int getNext()
{
int tmp;
char rear = -1;
G_END = scanf("%d%c",&tmp,&rear);
G_CASE_END = ((rear=='\n'||rear==-1)?1:0);
return tmp;
}
int matrioshka(int size){
int free_space = -size;
int next;
while (1)
{
if(G_CASE_END)
break;
next = getNext();
start = 1;
if (next == -size)
break;
else if (next > 0)
return 0;
else
{
int result = matrioshka(next);
if(result)
free_space -= result;
else
free_space = 0;
}
}
if(free_space > 0 && start)
{
start = 0;
return -size;
}
return 0;
}
void output(int result)
{
puts(result?":-) Matrioshka!":":-( Try again.");
}
int main()
{
char trash[100000];
while (1)
{
int most_outer_size = getNext();
if(G_END == -1)
break;
output(matrioshka(most_outer_size));
if(!G_CASE_END)
gets(trash);
}
return 0;
}