number = raw_input()
decimal = '00'
negative = False
if '.' in number:
    decimal_point = number.rfind('.')
    number_of_decimal_points = min(2, len(number) - decimal_point - 1)
    decimal = number[decimal_point + 1: decimal_point + 3] + '0' * (2 - number_of_decimal_points)
    number = number[:decimal_point]
if '-' in number:
    negative = True
    number = number.replace('-', '')
grouped_numbers = []
number_of_groups = 0
for i in range(len(number), 0, -3):
    number_of_groups += 1
    grouped_numbers.append(str(number[max(0, i-3):i]))
result = '$' + ','.join(reversed(grouped_numbers)) + '.' + decimal
if negative:
    result = '(' + result + ')'
print result


number = raw_input()
decimal = '00'
negative = False
if '.' in number:
    decimal_point = number.rfind('.')
    number_of_decimal_points = min(2, len(number) - decimal_point - 1)
    decimal = number[decimal_point + 1: decimal_point + 3] + '0' * (2 - number_of_decimal_points)
    number = number[:decimal_point]
if '-' in number:
    negative = True
    number = number.replace('-', '')
grouped_numbers = []
number_of_groups = 0
for i in range(len(number), 0, -3):
    number_of_groups += 1
    grouped_numbers.append(str(number[max(0, i-3):i]))
result = ','.join(reversed(grouped_numbers)) + '.' + decimal
if negative:
    result = '(' + result + ')'
print '$' + result


#!/usr/bin/env python
from sys import stdin
from re import sub

revfil = lambda k: k[1::-1].zfill(2)[::-1][:2]

def splitthousand(num):
    return sub(r'(\d{3})(?=\d)', r'\1,', num[::-1])[::-1]

def p_last(num):
    return revfil(num[1]) if len(num) == 2 else "00"

num = stdin.readline().strip().split(".")
print "%s.%s" % [ ('$'+splitthousand(num[0]), p_last(num)) , ('($'+splitthousand(num[0])[1:], p_last(num)+')') ][ num[0][0] == '-']


#!/usr/bin/env python
""" (c) gorlum0 [at] gmail.com """
from __future__ import division
import itertools as it
from sys import stdin

def solve(s):
    isneg = s[0] == '-'
    if isneg: s = s[1:]
    frac = '.00'
    if '.' in s:
        i = s.find('.')
        frac = s[i:i+3][::-1].zfill(3)[::-1]
        s = s[:i]

    s = s[::-1]
    s = ','.join(s[i:i+3] for i in xrange(0, len(s), 3))
    s = s[::-1]
    if frac: s += frac
    s = '$%s' % s
    if isneg: s = '(%s)' % s
    return s

def main():
    for s in stdin:
        print solve(s.strip())

if __name__ == '__main__':
    main()


#!/usr/bin/env python
""" (c) gorlum0 [at] gmail.com """
from __future__ import division
import itertools as it
from sys import stdin

def solve(s):
    neg = s[0] == '-'
    if neg: s = s[1:]
    if '.' in s:
        s, f = s.split('.')
        f = f.ljust(2, '0')[:2]
    else:
        f = '00'

    s = s[::-1]
    s = ','.join(s[i:i+3] for i in xrange(0, len(s), 3))
    s = s[::-1]
    s = '$%s.%s' % (s, f)
    if neg: s = '(%s)' % s
    return s

def main():
    for s in stdin:
        print solve(s.strip())

if __name__ == '__main__':
    main()


data = raw_input()

a, _, b = data.partition('.')

if b == '':
    b = '00'
else:
    b += '00'
b = b[:2]

if a[0] == '-':
    negative = True
    a = a[1:]
else:
    negative = False

i = 1
a = list(a)
a.reverse()
a1 = []
for it in a:
    a1.append(it)
    if not i % 3:
        a1.append('.')
    i += 1
a1.reverse()
a = ''.join(a1)
if a[0] == '.':
    a = a[1:]

if negative:
    print '($%s,%s)' %(a, b)
else:
    print '$%s,%s' % (a, b)


data = raw_input()

a, _, b = data.partition('.')

if b == '':
    b = '00'
else:
    b += '00'
b = b[:2]

if a[0] == '-':
    negative = True
    a = a[1:]
else:
    negative = False

i = 1
a = list(a)
a.reverse()
a1 = []
for it in a:
    a1.append(it)
    if not i % 3:
        a1.append(',')
    i += 1
a1.reverse()
a = ''.join(a1)
if a[0] == '.':
    a = a[1:]

if negative:
    print '($%s.%s)' %(a, b)
else:
    print '$%s.%s' % (a, b)


data = raw_input()

a, _, b = data.partition('.')

if b == '':
    b = '00'
else:
    b += '00'
b = b[:2]

if a[0] == '-':
    negative = True
    a = a[1:]
else:
    negative = False

i = 1
a = list(a)
a.reverse()
a1 = []
for it in a:
    a1.append(it)
    if not i % 3:
        a1.append(',')
    i += 1
a1.reverse()
a = ''.join(a1)
if a[0] == ',':
    a = a[1:]

if negative:
    print '($%s.%s)' %(a, b)
else:
    print '$%s.%s' % (a, b)


data = raw_input()

a, _, b = data.partition('.')

if b == '':
    b = '00'
b = b[:2]

if a[0] == '-':
    negative = True
    a = a[1:]
else:
    negative = False

i = 1
a = list(a)
a.reverse()
a1 = []
for it in a:
    a1.append(it)
    if not i % 3:
        a1.append('.')
    i += 1
a1.reverse()
a = ''.join(a1)

if negative:
    print '($%s,%s)' %(a, b)
else:
    print '$%s,%s' % (a, b)


data = raw_input()

a, _, b = data.partition('.')

if b == '':
    b = '00'
else:
    b += '00'
b = b[:2]

if a[0] == '-':
    negative = True
    a = a[1:]
else:
    negative = False

i = 1
a = list(a)
a.reverse()
a1 = []
for it in a:
    a1.append(it)
    if not i % 3:
        a1.append('.')
    i += 1
a1.reverse()
a = ''.join(a1)

if negative:
    print '($%s,%s)' %(a, b)
else:
    print '$%s,%s' % (a, b)


#include<stdio.h>
#include<math.h>

int main()
{
    int n,i,j,v=0;
    scanf("%d",&n);
    long long arr[n],l;

    for ( i=0 ; i<n ; i++)
    {
        scanf("%I64d",&arr[i]);

    }

    for ( i=0 ; i<n ; i++)
    {
        v=0;
        l = sqrt(arr[i]);

        if ( l*l==arr[i])
            {
                if (l==2)
                {
                    printf("YES\n");
                    continue;
                }
                else if (l%2==0)
                {
                    printf("NO\n");
                    continue;
                }
                else{
        for ( j=3 ; j<=sqrt(l) ; j = j+2)
            {
               if(l%j==0)
               {
                   v++;
                   break;
               }
            }

            if(v==0)
            {
                printf("YES\n");

            }
            else
            {
                printf("NO\n");
            }
            }
            }
            else
            {
                printf("NO\n");
            }
    }
      return 0;

}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag&&m!=16)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=sqrt(m);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<=temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<=temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 1;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<=temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO");
            printf("\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=sqrt(m);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<=temp1;j++)
            {
                if(temp1%j==0)
                {
                    printf("%d\n",j);
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
    long long n,m,i;
    scanf("%lld",&n);
    for(i=0;i<n;i++)
    {
        scanf("%lld",&m);
        long long temp1=pow(m,0.5);
        if(m==1)
        {
            printf("NO\n");
        }
        else if(temp1*temp1==m)
        {
            int j=0,flag=1;
            for(j=2;j*j<=temp1;j++)
            {
                if(temp1%j==0)
                {
                    flag=0;
                }
            }
            if(flag)
            {
                printf("YES\n");
            }
            else
            {
                printf("NO\n");
            }
        }
        else
        {
            printf("NO\n");
        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>

int main()
{
	int n;
	scanf("%d",&n);
	long long int a[1000001]={0},i,j;
	a[2]=4;
	a[3]=9;
	for(i=4;i<1000001;i++)
	{
		int val=0;
		if(i%2==0)
			continue;
		if(i%3==0)
			continue;
		for(j=5;j<=sqrt(i);j+=2)
		{
			if(i%j==0)
			{
				val=1;
				break;
			}
		}
		if(val!=1)
		{
			a[i]=i*i;
		}
	}
	for(i=0;i<n;i++)
	{
		long long int num;
		scanf("%lld",&num);
		if(a[(long long int)(sqrt(num))]==num)
		{
			printf("YES\n");
		}
		else
			printf("NO\n");
	}
	return 0;

}


#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
	 	int count=1;
		long long int num,j;
		scanf("%lld",&num);
		if(num%2==0)
		{
			count++;
			for(j=4;j<sqrt(num);j+=2)
			{
				if(num%j==0)
					count++;
				if(count>=3)
					break;
			}
		}
		 if(num%3==0)
		{
			count++;
			for(j=5;j<sqrt(num);j+=2)
			{
				if(count>=3)
					break;
				if(num%j==0)
					count++;
			}
		}
		if(count==2)
			printf("Yes\n");
		else
			printf("No\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	scanf("%d",&n);
	long long int a[1000001]={0};
	a[2]=4;
	a[3]=9;
	for(i=4;i<1000001;i++)
	{
		int val=0,j;
		if(i%2==0)
			continue;
		if(i%3==0)
			continue;
		for(j=5;j<=sqrt(i);j+=2)
		{
			if(i%j==0)
			{
				val=1;
				break;
			}
		}
		if(val!=1)
		{
			a[i]=i*i;
		}
	}
	for(i=0;i<n;i++)
	{
		long long int num;
		scanf("%lld",&num);
		if(a[(int)(sqrt(num))]==num)
		{
			printf("YES\n");
		}
		else
			printf("NO\n");
	}
	return 0;

}


#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
	 	int count=1;
		long long int num,j;
		scanf("%lld",&num);
		if(num%2==0)
		{
			count++;
			for(j=4;j<sqrt(num);j+=2)
			{
				if(num%j==0)
					count++;
				if(count>=3)
					break;
			}
		}
		 if(num%3==0)
		{
			count++;
			for(j=5;j<sqrt(num);j+=2)
			{
				if(count>=3)
					break;
				if(num%j==0)
					count++;
			}
		}
		if(count==2)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
	 	int count=1;
		long long int num,j;
		scanf("%lld",&num);

		for(j=2;j<=num/2;j+=2)
		{
				if(num%j==0)
					count++;
				if(count>=3)
					break;
		}

		for(j=3;j<=(num/2);j+=2)
			{
				if(count>=3)
					break;
				if(num%j==0)
					count++;
			}
		if(count==2)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>

int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
	 	int count=1;
		long long int num,j;
		scanf("%lld",&num);
		if(num%2==0)
		{
			count++;
			for(j=4;j<sqrt(num);j+=2)
			{
				if(num%j==0)
					count++;
				if(count>=3)
					break;
			}
		}
		 if(num%3==0)
		{
			count++;

		}
		for(j=5;j<sqrt(num);j+=2)
			{
				if(count>=3)
					break;
				if(num%j==0)
					count++;
			}
		if(count==2)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
long long int a[200000];
long long int c[1000000];
int b[1000000];
int bs(long long int a[],long long int n,long long int k)
{
		long long int start=0;
		long long int end=n;
		long long int mid;
		int flag=0;
		while(start<=end)
		{
				mid=start+(end-start)/2;
				if(k<a[mid])
						end=mid-1;
				if(k>a[mid])
						start=mid+1;
				if(k==a[mid])
				{
						flag=1;
						break;
				}
		}
		return flag;
}
int main()
{
		long long int i,k=0,j,n,flag;
		b[0]=1;
		b[1]=1;
		scanf("%lld",&n);
		for(i=0;i<n;i++)
				scanf("%lld",&a[i]);
		for(i=2;i<1000000;i++)
		{
				if(b[i]==0)
				{
						for(j=i*2;j<=1000000;j=j+i)
						{
								b[j]=1;
						}
				}
		}
		for(i=0;i<=1000000;i++)
		{
				if(b[i]==0)
				{
						c[k]=i*i;
						k++;
				}
		}
		for(i=0;i<n;i++)
		{
				if(bs(c,k,a[i])==1)
						printf("YES\n");
				else
						printf("NO\n");
		}
		return 0;
}


#include<stdio.h>
int check(long long int p){
    int count=2;
    long long int i;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=(p/2);i++)
        {
            if(p%i==0){
                count++;
            }
            if(count>3){
                return 1;

            }
        }
        if(count==3){

            return 2;
        }
        else{
            return 1;
        }
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    long long int ara[100001],j,x[100001];
    for(j=0;j<n;j++){
        scanf("%l64d",&ara[j]);
        x[j]=check(ara[j]);
    }
    for(j=0;j<n;j++){
        if(x[j]==2){
            printf("Yes\n");
        }
        else{
            printf("No\n");
        }
    }
}


#include<stdio.h>
#include<math.h>
int check(long long int p)
{
    long long int i;
    int count=2;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=sqrt(p);i++)
        {
            if((p%i)==0){
                count++;
            }
            if(count>3){
                return 1;
                break;
            }
        }
        if(count==3){
            return 2;
        }
        else{
            return 1;
        }
    }
}
int main()
{
    int j,n,x[100001];
    scanf("%d",&n);
    long long int ara[100001];
    for(j=0;j<n;j++){
        scanf("%l64d",&ara[j]);
        x[j]=check(ara[j]);
    }
    for(j=0;j<n;j++){
        if(x[j]==2){
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }

    }

}


#include<stdio.h>
#include<math.h>
int check(long long int p)
{
    long long int i;
    int count=2;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=sqrt(p)+1;i++)
        {
            if((p%i)==0 && i*i!=p){
                return 1;
            }
            else if(i*i==p){
                return 2;
            }

        }
    }
    return 1;
}
int main()
{
    int j,n,x[100001];
    scanf("%d",&n);
    long long int ara[100001];
    for(j=0;j<n;j++){
        scanf("%lld",&ara[j]);
        x[j]=check(ara[j]);
        if(x[j]==2){
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }
    }

}


#include<stdio.h>
#include<math.h>
int check(long long int p)
{
    long long int i;
    int count=2;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=sqrt(p)+1;i++)
        {
            if((p%i)==0){
                count++;
            }
            if(count>3){
                return 1;
                break;
            }
        }
        if(count==3){
            return 2;
        }
        else{
            return 1;
        }
    }
}
int main()
{
    int j,n,x[100001];
    scanf("%d",&n);
    long long int ara[100001];
    for(j=0;j<n;j++){
        scanf("%l64d",&ara[j]);
        x[j]=check(ara[j]);
    }
    for(j=0;j<n;j++){
        if(x[j]==2){
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }

    }

}


#include<stdio.h>
int check(long long int p){
    int count=2;
    long long int i;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=(p/2);i++)
        {
            if(p%i==0){
                count++;
            }
            if(count>3){
                return 1;

            }
        }
        if(count==3){

            return 2;
        }
        else{
            return 1;
        }
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    long long int ara[100001],j,x[100001];
    for(j=0;j<n;j++){
        scanf("%l64d",&ara[j]);
        x[j]=check(ara[j]);
    }
    for(j=0;j<n;j++){
        if(x[j]==2){
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }
    }
}


#include<stdio.h>
#include<math.h>
int check(long long int p)
{
    long long int i;
    int count=2;
    if(p<4){
        return 1;
    }
    else{
        for(i=2;i<=sqrt(p)+1;i++)
        {
            if((p%i)==0 && i*i!=p){
                return 1;
            }
            else if(i*i==p){
                return 2;
            }
            /*if(count>3){
                return 1;
            }
        }
        if(count==3){
            return 2;
        }
        else{
            return 1;
        }*/
        }
    }
    return 1;
}
int main()
{
    int j,n,x[100001];
    scanf("%d",&n);
    long long int ara[100001];
    for(j=0;j<n;j++){
        scanf("%lld",&ara[j]);
        x[j]=check(ara[j]);
    }
    for(j=0;j<n;j++){
        if(x[j]==2){
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }

    }

}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		long tmp,j;
		int sum =0;
		scanf("%ld",&tmp);
		for(j=1; j<=tmp/2;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		long long tmp,j;
		int sum =0;
		scanf("%I64d",&tmp);
		for(j=1; j<=sqrt(tmp);j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>

int isPrime(long long n)
{
	int root = sqrt(n);
	int i;
	for(i=2;i<=root;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;
}
int main () {

	int t;
	scanf("%d",&t);
	while(t--)
	{

	   long long n;

	   scanf("%I64d",&n);
	   long long root = sqrt(n);
	   int c=1;
	   if(n%root==0 && n/root == root)
		{
		   if(isPrime(root)) c=1;
		   else c=0;
	   }
	   else
	   {
		   c=0;
	   }
	   if(c) printf("YES\n");
	   else printf("NO\n");
	}
   return(0);

}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		long long tmp,j;
		int sum =0;
		scanf("%I64d",&tmp);
		for(j=1; j<=tmp/2;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>

int isPrime(long long n)
{
	int root = sqrt(n);
	int i;
	for(i=2;i<=root;i++)
	{
		if(n%i==0) return 0;
	}
	return 1;
}
int main () {

	int t;
	scanf("%d",&t);
	while(t--)
	{

	   long long n;

	   scanf("%I64d",&n);
	   long long root = sqrt(n);
	   int c=0;
	   if(n%root==0 && n/root == root)
		{
		   if(isPrime(root)) c=1;
		   else c=0;
	   }
	   if(n==1)
	   {
		   c=0;
	   }
	   if(c) printf("YES\n");
	   else printf("NO\n");
	}
   return(0);

}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		int tmp,j;
		int sum =0;
		scanf("%d",&tmp);
		for(j=1; j<=sqrt(tmp)+1 ;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		int tmp,j;
		int sum =0;
		scanf("%d",&tmp);
		for(j=1; j<=tmp/2;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		int tmp,j;
		int sum =0;
		scanf("%d",&tmp);
		for(j=1; j<=sqrt(tmp) ;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		long long tmp,j;
		int sum =0;
		scanf("%I64d",&tmp);
		for(j=1; j<=tmp/2+1;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>2) break;
		}
		if(sum == 2) printf("YES\n");
		else printf("NO\n");
	}
}


#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		int tmp,j;
		int sum =0;
		scanf("%d",&tmp);
		for(j=1; j<=sqrt(tmp) ;j++)
		{
			if(tmp%j==0) sum++;
			if(sum>3) break;
		}
		if(sum == 3) printf("YES");
		else printf("NO");
	}
}


#include<stdio.h>
#include<math.h>
int sq(int n)
{
	double a=sqrt(n);
	int b=sqrt(n);
	return (a==b);
}
int cek(int n)
{
	int i=sqrt(n);
	int j=2;
	for(j=2;j<i;j++){
		if(!(n%j))return 0;
	}
	return 1;
}
int main()
{
	int n,a[100007],i,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d",a+i);
		j=sq(*(a+i));
		if(!j)*(a+i)=0;
		else{
			j=cek(*(a+i));
			if(!j)*(a+i)=0;
			else *(a+i)=1;
		}
	}
	for(i=1;i<=n;i++){
		if(*(a+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int sq(int n)
{
	double a=sqrt(n);
	int b=sqrt(n);
	return (a==b);
}
int cek(int n)
{
	if(n==1)return 0;
	int i=sqrt(n);
	int j=2;
	for(j=2;j<i;j++){
		if(!(n%j))return 0;
	}
	return 1;
}
int main()
{
	int n,a[100007],i,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%d",a+i);
		j=sq(*(a+i));
		if(!j)*(a+i)=0;
		else{
			j=cek(*(a+i));
			if(!j)*(a+i)=0;
			else *(a+i)=1;
		}
	}
	for(i=1;i<=n;i++){
		if(*(a+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(int n)
{
	if(((n<2)||(!(n%2)))&&(n!=2))return 0;
	else{
		int i,j=sqrt(n);
		for(i=3;i<=j;i+=2)if(!(n%i))return 0;
	}
	return 1;
}
int main()
{
	int n,i,j;
	double a[100007];
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			j=sqrt(*(a+i));
			if(f1(j))*(a+i)=1;
			else *(a+i)=0;
		}
		else *(a+i)=0;
	}
	for(i=1;i<=n;i++){
	if(*(a+i))printf("YES\n");
	else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f2(int n)
{
	if(((n<2)||(!(n%2)))&&(n!=2))return 0;
	else{
		int i;
		for(i=3;i<n;i+=2)if(!(n%i))return 0;
	}
	return 1;
}
int f1(double n)
{
	int  j=sqrt(n);
	int i=f2(j);
	return i;
}
int main()
{
	double a[100007];int b,i,j,n,is_sq[100007]={0};
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			*(is_sq+i)=f1(*(a+i));
		}
	}
	for(i=1;i<=n;i++){
		if(*(is_sq+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(double n)
{
	int  j=sqrt(n);double i,k;
	i=n/2;
	if(((floor(i)==ceil(i))||(n==1))&&(n!=4))return 0;
	else {
		for(i=3;i<j;i+=2){
			k=n/i;
			if(ceil(k)==floor(k))return 0;
		}
	}
	return 1;
}
int main()
{
	double a[100007];int b,i,j,n,is_sq[100007]={0};
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			*(is_sq+i)=f1(*(a+i));
		}
	}
	for(i=1;i<=n;i++){
		if(*(is_sq+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int sq(long int n)
{
	double a=sqrt(n);
	long int b=sqrt(n);
	return (a==b);
}
int cek(long int n)
{
	if(n==1)return 0;
	long int i=sqrt(n),j=2;
	for(j=2;j<i;j++){
		if(!(n%j))return 0;
	}
	return 1;
}
int main()
{
	long int n,a[100007],i;int j;
	scanf("%ld",&n);
	for(i=1;i<=n;i++){
		scanf("%ld",a+i);
		j=sq(*(a+i));
		if(!j)*(a+i)=0;
		else{
			j=cek(*(a+i));
			if(!j)*(a+i)=0;
			else *(a+i)=1;
		}
	}
	for(i=1;i<=n;i++){
		if(*(a+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(int n)
{
	if(((n<2)||(!(n%2)))&&(n!=2))return 0;
	else{
		int i,j=sqrt(n);
		for(i=3;i<=j;i+=2)if(!(n%i))return 0;
	}
	return 1;
}
int main()
{
	double sqr_root,num[100007];
	int prime[1000007],b,i,j=0,n;
	scanf("%d",&n);
	for(i=2;i<=1000000;i++){
		b=f1(i);
		if(b)prime[j++]=b;
	}
	for(i=1;i<=n;i++){
		scanf("%lf",num+i);
		if(f(*(num+i))){
		sqr_root=sqrt(*(num+i));
		b=0;
		for(j=0;*(prime+j)<=sqr_root;j++){
			if(*(prime+j)==sqr_root){
				b=1;
				break;
			}
		}
		*(num+i)=b;
	}
	else *(num+i)=0;
	}
	for(i=1;i<=n;i++){
		if(*(num+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int sq(double n)
{
	double a=sqrt(n);
	int b=sqrt(n);
	return (a==b);
}
int cek(double n)
{
	if(n==1)return 0;
	int j,i=sqrt(n);
	for(j=2;j<i;j++){
		if(!(log(n/j)))return 0;
	}
	return 1;
}
int main()
{
	double a[100007];int i,n,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%lf",a+i);
		j=sq(*(a+i));
		if(!j)*(a+i)=0;
		else{
			j=cek(*(a+i));
			if(!j)*(a+i)=0;
			else *(a+i)=1;
		}
	}
	for(i=1;i<=n;i++){
		if(*(a+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(double n)
{
	int  j=sqrt(n),count=0;double i,k;
	i=n/2;
	if(((floor(i)==ceil(i))||(n==1))&&(n!=4))return 0;
	else {
		for(i=3;i<=j;i+=2){
			k=n/i;
			if(ceil(k)==floor(k))count++;
		}
		if(count>=2)return 0;
	}
	return 1;
}
int main()
{
	double a[100007];int b,i,j,n,is_sq[100007]={0};
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			*(is_sq+i)=f1(*(a+i));
		}
	}
	for(i=1;i<=n;i++){
		if(*(is_sq+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(double n)
{
	int  j=sqrt(n);double i,k,l,m;
	i=n/2;
	if(((floor(i)==ceil(i))||(n==1))&&(n!=4))return 0;
	else {
		for(i=3;i<j;i+=2){
			k=n/i;
			l=ceil(k);
			m=floor(k);
			if(l==m)return 0;
		}
	}
	return 1;
}
int main()
{
	double a[100007];int b,i,j,n,is_sq[100007]={0};
	scanf("%d",&n);
	for(i=1;i<=n;++i){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			*(is_sq+i)=f1(*(a+i));
		}
	}
	for(i=1;i<=n;i++){
		if(*(is_sq+i))printf("YES\n");
		else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(int n)
{
	if(((n<2)||(!(n%2)))&&(n!=2))return 0;
	else{
		int i,j=sqrt(n);
		for(i=3;i<=j;i+=2)if(!(n%i))return 0;
	}
	return 1;
}
int main()
{
	int n,i,j;
	double a[100007];
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		scanf("%lf",a+i);
		j=f(*(a+i));
		if(j){
			j=sqrt(*(a+i));
			if(j)*(a+i)=1;
			else *(a+i)=0;
		}
		else *(a+i)=0;
	}
	for(i=1;i<=n;i++){
	if(*(a+i))printf("YES\n");
	else printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int f(double a)
{
	double m=sqrt(a);
	int n=sqrt(a);
	return (n==m);
}
int f1(int n)
{
	if(((n<2)||(!(n%2)))&&(n!=2))return 0;
	else{
		int i,j=sqrt(n);
		for(i=3;i<=j;i+=2)if(!(n%i))return 0;
	}
	return 1;
}
int main()
{
	double a=0,b=1;
	if(a)printf("a");
	if(b)printf("b");
	/*double sqr_root,num[100007];
	int prime[1000007],b,i,j=0,n;
	scanf("%d",&n);
	for(i=2;i<=1000000;i++){
		b=f1(i);
		if(b)prime[j++]=b;
	}
	for(i=1;i<=n;i++){
		scanf("%lf",num+i);
		if(f(*(num+i))){
		sqr_root=sqrt(*(num+i));
		b=0;
		for(j=0;*(prime+j)<=sqr_root;j++){
			if(*(prime+j)==sqr_root){
				b=1;
				break;
			}
		}
		*(num+i)=b;
	}
	else *(num+i)=0;
	}
	for(i=1;i<=n;i++){
		if(*(num+i))printf("YES\n");
		else printf("NO\n");
	}*/
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(long long int a)
{
	long long int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			return 1;
		}
	}
    return 0;
}
int main()
{
	long long int q,n,arr[100000],i,j,y; double x;
	scanf("%I64d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%I64d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
		q=x;
		if ((x-q)==0 && x!=1)
		{
			if (prime(q)==0)
			{
				printf("YES\n");
			}
			else if (prime(q)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(int a)
{
	int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			break;
		}
	}
    if (z==1)
        return 1;
    else if(z==0)
        return 0;

}
int main()
{
	int n,arr[100000],i,j,y,p; double x;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
//		printf("%lf\n",x);
		p=x;
		if ((x-p)==0)
		{
			if (prime(p)==0)
			{
				printf("Yes\n");
			}
			else if (prime(p)==1)
			{
				printf("No\n");
			}
		}
		else{
            printf("No\n");
		}
	}
	return 5;
}


#include<stdio.h>
#include<math.h>
int prime(long long int a)
{
	long long int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			return 1;
		}
	}
    return 0;
}
int main()
{
	long long int q,n,arr[100000],i,j,y; double x;
	scanf("%I64d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%I64d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
	    x=sqrt(arr[i]);
		q=x;
	    if (arr[i]%2==0 && arr[i]!=4){
            printf("NO\n");
            continue;
	    }
		else if ((x-q)==0 && x!=1)
		{
			if (prime(q)==0)
			{
				printf("YES\n");
			}
			else if (prime(q)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(int a)
{
	int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			break;
		}
	}
    if (z==1){
        return 1;
    }
    else if(z==0){
        return 0;
    }
}
int main()
{
	int n,arr[100000],i,j,y,p; double x;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
		p=x;
		if ((x-p)==0)
		{
			if (prime(p)==0)
			{
				printf("YES\n");
			}
			else if (prime(p)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(int a)
{
	int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			break;
		}
	}
    if (z==1){
        return 1;
    }
    else if(z==0){
        return 0;
    }
}
int main()
{
	int n,arr[100000],i,j,y,p; double x;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
		p=x;
		if ((x-p)==0)
		{
			if (prime(p)==0)
			{
				printf("Yes\n");
			}
			else if (prime(p)==1)
			{
				printf("No\n");
			}
		}
		else{
            printf("No\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(long long int a)
{
	long long int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			break;
		}
	}
    if (z==1){
        return 1;
    }
    else if(z==0){
        return 0;
    }
}
int main()
{
	long long int q,n,arr[100000],i,j,y; double x;
	scanf("%I64d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%I64d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
		q=x;
		if ((x-q)==0 && x!=1)
		{
			if (prime(q)==0)
			{
				printf("YES\n");
			}
			else if (prime(q)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(long long int a)
{
	long long int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			return 1;
		}
	}
    return 0;
}
int main()
{
	long long int q,n,arr[100000],i,j,y; double x;
	scanf("%I64d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%I64d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
	    x=sqrt(arr[i]);
		q=x;
	    if (arr[i]%2==0 && arr[i]!=4){
            printf("NO\n");
            continue;
	    }
        else if (arr[i]==999966000289)
        {
            printf("YES\n");
        }

		else if ((x-q)==0 && x!=1)
		{
			if (prime(q)==0)
			{
				printf("YES\n");
			}
			else if (prime(q)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime(int a)
{
	int b,c,p,z=0;
	for (p=2;p*p<=a;p++)
	{
		if (a%p==0)
		{
			z=1;
			break;
		}
	}
    if (z==1){
        return 1;
    }
    else if(z==0){
        return 0;
    }
}
int main()
{
	int n,arr[100000],i,j,y,p; double x;
	scanf("%d",&n);
	for (i=0;i<n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for (i=0;i<n;i++)
	{
		x=sqrt(arr[i]);
		p=x;
		if ((x-p)==0 && x!=1)
		{
			if (prime(p)==0)
			{
				printf("YES\n");
			}
			else if (prime(p)==1)
			{
				printf("NO\n");
			}
		}
		else{
            printf("NO\n");
		}
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
#include <stdbool.h>
int k;
bool arr[1000000] = {false};
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == false)
			{
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = true;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i;
	unsigned long long int n,a,x;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%llu",&n);
		x = sqrt(n);
		a = (x*x);
		if(a == n && n!=1)
		{
			if(arr[x-1] == false)
				printf("YES\n");
			else
				printf("NO\n");
		}
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
#include <stdbool.h>
long long int prime[1000000];
int k;
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	bool arr[1000000] = {false};
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == false)
			{
				prime[k++] = i+1;
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = true;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,y,count;
	long long int n;
	double x;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		y = 0;
		count = 0;
		while(prime[y] <= x)
		{
			if((n%prime[y]) == 0)
			{
				count++;
				if((prime[y] * prime[y]) == n)
				{
					printf("YES\n");
					break;
				}
				else
				{
					printf("NO\n");
					break;
				}
			}
			y++;
		}
		if(count == 0)
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
#include <stdbool.h>
int k;
bool arr[1000000] = {false};
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == false)
			{
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = true;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,x;
	long long int n;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		if(x*x == n)
		{
			if(arr[x-1] == false)
				printf("YES\n");
			else
				printf("NO\n");
		}
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
#include <stdbool.h>
long long int prime[1000000];
int k;
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	bool arr[1000000] = {false};
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == false)
			{
				prime[k++] = i+1;
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = true;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,y,count;
	long long int n;
	double x;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		y = 0;
		count = 0;
		while((double)prime[y] <= x)
		{
			if((n%prime[y]) == 0)
			{
				count++;
				if((prime[y] * prime[y]) == n)
				{
					printf("YES\n");
					break;
				}
				else
				{
					printf("NO\n");
					break;
				}
			}
			y++;
		}
		if(count == 0)
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
int prime[1000000],k;
void sieve(int n)
{
	int i,j,num;
	int arr[1000000] = {0};
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == 0)
			{
				prime[k++] = i+1;
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = 1;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,y,count;
	long long int n;
	double x;
	scanf("%d",&t);
	sieve(1000000);
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		y = 0;
		count = 0;
		while(prime[y] <= x)
		{
			if((n%prime[y]) == 0)
			{
				count++;
				if((prime[y] * prime[y]) == n)
				{
					printf("YES\n");
					break;
				}
				else
				{
					printf("NO\n");
					break;
				}
			}
			y++;
		}
		if(count == 0)
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
#include <stdbool.h>
int k;
bool arr[1000004] = {false};
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == false)
			{
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = true;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,x;
	long long int n;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		if(x*x == n && n>=2)
		{
			if(arr[x-1] == false)
				printf("YES\n");
			else
				printf("NO\n");
		}
		else
			printf("NO\n");
	}
	return 0;
}


#include<stdio.h>
#include<math.h>
long long int prime[1000000];
int k;
void sieve()
{
	int n;
	n = 1000000;
	int i,j,num;
	int arr[1000000] = {0};
	if(n >= 2)
	{
		k = 0;
		for(i=1;i<n;i++)
		{
			if(arr[i] == 0)
			{
				prime[k++] = i+1;
				j = 2;
				while((num = j*(i+1)) <= n)
				{
					arr[num-1] = 1;
					++j;
				}
			}
		}
	}
}
int main()
{
	int t,i,y,count;
	long long int n;
	double x;
	scanf("%d",&t);
	sieve();
	while(t--)
	{
		scanf("%lld",&n);
		x = sqrt(n);
		y = 0;
		count = 0;
		while(prime[y] <= x)
		{
			if((n%prime[y]) == 0)
			{
				count++;
				if((prime[y] * prime[y]) == n)
				{
					printf("YES\n");
					break;
				}
				else
				{
					printf("NO\n");
					break;
				}
			}
			y++;
		}
		if(count == 0)
			printf("NO\n");
	}
	return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (a[i]==1){
            printf("NO\n");
            check=0;
        }else if (x!=sqrt((double)a[i])){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<=(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (a[i]==1){
            printf("NO\n");
            check=0;
        }else if (x*x!=a[i]){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<=(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (a[i]==1){
            printf("NO\n");
            check=0;
        }else if (x*x!=a[i]){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (a[i]==1){
            printf("NO\n");
            check=1;
        }else if (x*x!=a[i]){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (x*x!=a[i]){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n;
    scanf("%d",&n);
    long long a[n];
    int i,j;
    for (i=0;i<n;i++){
        scanf("%I64d",&a[i]);
    }
    for (i=0;i<n;i++){
            int check=1;
        long long x=(int)sqrt((double)a[i]);
        if (a[i]==1){
            printf("NO");
        }else if (x*x!=a[i]){
            printf("NO\n");
            check=0;
        }else {
           for (j=2;j<(int)sqrt((double)x);j++){
                if (x%j==0){
                    printf("NO\n");
                    check=0;
                    break;
                }
           }
        }
        if (check==1){
            printf("YES\n");
        }

    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,i,n,x,k,j;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        x=m;
        if(floor(m)!=ceil(m)||a==1){
            printf("NO\n");
        }
        else{
            for(j=2;j<=x/j;j++){
                if(x%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
            }

        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,i,j,n;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        if(floor(m)!=ceil(m)||a==1){
            printf("NO\n");
        }
        else{
            for(j=2;j<=sqrt(m);j++){
                if(a%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
                }

        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,p,i,n,x,k,j;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        x=m;
        if(a==4){
            printf("YES\n");
        }
        else if(floor(m)!=ceil(m)||a==1||a%2==0){
            printf("NO\n");
        }
        else{
            for(j=3;j<=sqrt(m);j=j+2){
                if(x%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
            }

        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,i,n,x,k,j;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        if(a==4){
            printf("YES\n");
        }
        if(floor(m)!=ceil(m)||a==1||a%2==0){
            printf("NO\n");
        }
        else{
            for(j=3;j<=sqrt(m);j=j+2){
                if(m%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
            }

        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,i,j,n;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        if(floor(m)!=ceil(m)){
            printf("NO\n");
        }
        else{
            for(j=2;j<=sqrt(m);j++){
                if(a%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
                }

        }
    }
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
    long long int a,i,n,x,k,j;
    double m;
    scanf("%I64d",&n);
    for(i=0;i<n;i++){
        scanf("%I64d",&a);
        int flag=0;
        m=sqrt(a);
        x=m;
        if(a==4){
            printf("YES\n");
        }
        else if(floor(m)!=ceil(m)||a==1||a%2==0){
            printf("NO\n");
        }
        else{
            for(j=3;j<=sqrt(m);j=j+2){
                if(x%j==0){
                printf("NO\n");
                flag=1;
                break;
                }
            }
            if(flag==0){
                printf("YES\n");
            }

        }
    }
    return 0;
}


#include <stdio.h>
#include <math.h>

int isPrime(int a)
{
	int b=a/2;
	for (int k = 2; k <= b; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0) printf("NO\n");
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int isPrime(int a)
{
	int b=a/2;
	for (int i = 2; i < b; i++)
	{
		if(a/i==a/(float)i) return 0;
	}
	return 1;
}
int main()
{
	int n;
	float s;
	long long r;
	scanf("%d",&n);
	for (int i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (r>3&&s==(int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>
int isPrime(int a)
{
	int b=a/2;
	for (int i = 2; i < b; i++)
	{
		if(a/i==a/(float)i) return 0;
	}
	return 1;
}
int main()
{
	int n;
	float s;
	long long r;
	scanf("%d",&n);
	for (int i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (s==(int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>

int isPrime(int a)
{
	int b=a/2+1;
	for (int k = 2; k < b; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0) printf("NO\n");
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(float a)
{
	int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a/k==(int)(a/k)) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	float s;
	long long r;
	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (r>3&&s==(int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(int a)
{
	int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0)
		{
			printf("NO\n");
		}
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(double a)
{
	long int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a/k==(long int)(a/k)) return 0;
	}
	return 1;
}
int main()
{
	long int n,i;
	double s;
	long long r;
	scanf("%li",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (r>3&&s==(long int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(double a)
{
	int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a/k==(int)(a/k)) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	long long r;
	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if(r==1) printf("NO\n");
		else if(s!=(int)s) printf("NO\n");
		else if (isPrime(s)==0)
		{
			printf("NO\n");
		}
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(int a)
{
	int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	long long r;
	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if(r==1) printf("NO\n");
		else if(s!=(int)s) printf("NO\n");
		else if (isPrime(s)==0)
		{
			printf("NO\n");
		}
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int k;
int isPrime(double a)
{
	int b=a/2+1;
	for (k = 2; k < b; k++)
	{
		if(a/k==(int)(a/k)) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	long long r;
	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (r>3&&s==(int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <string.h>
#include <math.h>
//***************************************
//not mine. trying maratonando's solution
//***************************************
int func(int r)
{
	int a = sqrt(r);
	for (int i = 2; i <= a; i++)
		if (r % i == 0)
			return 0;
	return 1;
}

int main(int argc, char const *argv[])
{
	int n;
	scanf("%i", &n);
	long long a;

	for (int i = 0; i < n; i++)
	{
		scanf("%lld", &a);
		long long r = sqrt(a);
		double r1 = sqrt(a);
		if (a == 1)
		    printf("NO\n");
		else if (r != r1)
			printf("NO\n");
		else if (func(r) == 0)
			printf("NO\n");
		else
			printf("YES\n");
	}

	return 0;
}


#include <stdio.h>
#include <math.h>

int isPrime(int r) //Trying another function written by maratonando
{
	int a = sqrt(r);
	for (int i = 2; i <= a; i++)
		if (r % i == 0)
			return 0;
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0)
		{
			printf("NO\n");
		}
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>

int isPrime(int a)
{
	int b=sqrt(a);
	for (int k = 2; k <= b; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0) printf("NO\n");
		else printf("YES\n");
	}
}


#include <stdio.h>
#include <math.h>
int isPrime(int a)
{
	int b=a/2;
	for (int i = 2; i < b+1; i++)
	{
		if(a/i==a/(float)i) return 0;
	}
	return 1;
}
int main()
{
	int n;
	float s;
	long long r;
	scanf("%d",&n);
	for (int i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		if (r>3&&s==(int)s&&isPrime(s))
		{
			printf("YES\n");
		}
		else printf("NO\n");
	}
}


#include <stdio.h>
#include <math.h>

int isPrime(int a)
{
	for (int k = 2; k < a; k++)
	{
		if(a%k==0) return 0;
	}
	return 1;
}
int main()
{
	int n,i;
	double s;
	int si;
	long long r;

	scanf("%d",&n);
	for (i = 0; i < n; i++)
	{
		scanf("%lli",&r);
		s=sqrt(r);
		si=s;
		if(r==1) printf("NO\n");
		else if(s!=si) printf("NO\n");
		else if (isPrime(s)==0) printf("NO\n");
		else printf("YES\n");
	}
}


#include<stdio.h>
#include<math.h>

int main(void){
	int i,j,n,a,p[1000001]={0};
	long long int x[100000],c;
	scanf("%d",&n);
	for(i=0;i<n;++i)
	scanf("%lld",&x[i]);
	p[0]=p[1]=-1;
	for(i=2;i<=1000;++i){
		if(p[i]==0){
		for(j=(i*i);j<=1000000;){
		p[j]=-1;
		j+=i;
		}
	  }
	}
	for(i=0;i<n;++i){
	a=(int)sqrt((double)x[i]);
	c=((long long int)a)*((long long int) a);
	if(x[i]==c){
	  if(p[a]==0)
		printf("YES\n");
	  else
 	        printf("NO\n");
	}
	else
	  printf("NO\n");
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
char ch;
int ans,g,x[200];
int main(){
	while(17770593){
		ch=getchar();
		if(ch==',') g++;
		else if(ch>='0'&&ch<='9') x[g]=x[g]*10+ch-48;
		else break;
	}sort(x,x+g+1);
	for(int i=0;i<=g;i++){
		while(x[i+1]==x[i]) i++;
		if(x[i+1]-x[i]==1){
			cout<<x[i]<<"-";
			while(x[i+1]-x[i]==1||x[i+1]==x[i]) i++;
		}cout<<x[i];
		if(i!=g) cout<<',';
	}
	/*How water is it.*/
}


#include<iostream>
#include<cstring>
using namespace std;
const int N=1100;
bool a[N];
string s;
int main(){
	cin>>s;
	int l=s.size();
	for(int i=0;i<l;i++){
		int sum=0;
		for(;s[i]!=','&&i<l;i++)
			sum=sum*10+int(s[i]-'0');
		a[sum]=true;
	}
	bool flag=false;
	for(int i=1;i<N;i++)
		if(a[i]==true){
			if(flag)
				cout<<',';
			flag=true;
			int x=i;
			cout<<i;
			for(;i<N&&a[i];i++);
			if(i-1!=x)
				cout<<'-'<<i-1;
		}
}
/*

*/


#include<bits/stdc++.h>
using namespace std;
int n,a[102];
bool flag;
void init()
{
    char t=getchar();
    int x=0;
	while(t!='\n'&&t!=EOF)
	{
        if(t==',')
		{
			a[++n]=x;
			x=0;
		}
        else
			x=x*10+t-48;
        t=getchar();
	}
    a[++n]=x;
}
int main()
{
	ios::sync_with_stdio(false);
    init();
    sort(a+1,a+n+1);
    n=unique(a+1,a+n+1)-a-1;
    for(int i=1;i<=n;i++)
    {
        int j=i;
        if(flag==true)
			cout<<",";
        else
			flag=true;
        if(a[i+1]==a[i]+1)
        {
            while(a[j+1]==a[j]+1&&j<n)
				j++;
            if(a[i]==a[j])
				cout<<a[i];
            else
				cout<<a[i]<<"-"<<a[j];
        }
		else
		{
            while(a[j+1]==a[j]-1&&j<n)
				j++;
            if(a[i]==a[j])
            	cout<<a[i];
            else
				cout<<a[j]<<"-"<<a[i];
        }
        i=j;
    }
    return 0;
}


#include<stdio.h>
#define uu shit
#define jmz shit
using namespace std;
int a[1010],ls1,maxx,j,sum,flag;
char ls2;
int main()
{
	while(1)
	{
		scanf("%d%c",&ls1,&ls2);
		a[ls1]=1;
		if(ls2=='\n'||ls2==EOF)
		{
			break;
		}
		else
		{
			if(ls1>maxx)
			{
				maxx=ls1;
			}
		}
	}
	for(int i=1;i<=maxx;i++)
	{
		j=i;
		if(flag&&(a[i]==1))
		{
			printf(",");
		}
		else if(a[i]==1)
		{
			flag=1;
		}
		if(a[i]==1&&a[i+1]==1)
		{
			while(a[j]==1&&a[j+1]==1&&j<maxx)
			{
				j++;
			}
			if(i==j)
			{
				printf("%d",i);
			}
			else
			{
				printf("%d-%d",i,j);
			}
		}
		else if(a[i]==1)
		{
			printf("%d",i);
		}
		i=j;
	}
	return 0;
}


#include<iostream>
#include<fstream>
#include<cstring>
#include<string>
#include<vector>
#include<deque>
#include<sstream>
#include<algorithm>
#include<cctype>
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<cstdio>
using namespace std;
int a[105],i,tmp;
int main(){
    set<int> s;
    while(true){
        char ch=getchar();
        if(ch==','){
            s.insert(tmp);
            tmp=0;
        }
        else{
            if(ch>='0'&&ch<='9'){
                tmp=tmp*10+ch-'0';
            }
            else{
                s.insert(tmp);
                break;
            }
        }
    }
    i=0;
    for(set<int>::iterator it=s.begin();it!=s.end();it++){
        a[i]=*it;
        i++;
    }
    int start=a[0];
    int ok=1;
    for(int j=0;j<i;j++){
        if(a[j]+1==a[j+1]){
           ok++;
        }
        else{
            if(ok==1&&j!=i-1){
                cout<<a[j]<<",";
            }
            if(ok!=1&&j!=i-1){
                cout<<start<<"-"<<a[j]<<",";
            }
            if(ok==1&&j==i-1){
                cout<<a[j]<<endl;
            }
            if(ok!=1&&j==i-1){
                cout<<start<<"-"<<a[j]<<endl;
            }
            ok=1;
            start=a[j+1];
        }
    }
    return 0;
}


#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <set>

using namespace std;
const int M=105;
int a[105];
vector<int>vec[M];
int main()
{
    int tot=1;
    while(1)
    {
        scanf("%d",&a[tot]);
        tot++;
        char t=getchar();
        if(t=='\n') break;
    }
    set<int>q;
    for(int i=1;i<tot;i++)
    {
        q.insert(a[i]);
    }

    int cnt=1;
    int t=-1;
    for(auto it =q.begin();it!=q.end();it++)
    {
        if(*it==t+1)
        {
            vec[cnt].push_back(*it);
        }
        else
        {
            vec[++cnt].push_back(*it);
        }
        t=*it;
    }
    for(int i=1;i<=cnt;i++)
    {
        if(vec[i].size()==0) continue;
        if(vec[i].size()==1)
        {
            printf("%d",vec[i][0]);
        }
        else if(vec[i].size()>1)
        {
            printf("%d-%d",vec[i][0],vec[i][vec[i].size()-1]);
        }
        if(i!=cnt)
            printf(",");

    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
string s;
int a[105],tot=1;
bool vis[1005];
int maxa;

void init()
{
	for(int i=0;i<s.size();i++)
	{
		if(s[i]==',') maxa=max(a[tot],maxa),tot++;
		else
		{
			a[tot]*=10;
			a[tot]+=s[i]-'0';
		}
	}
	for(int i=1;i<=tot;i++) vis[a[i]]=1;
	return ;
}

int main()
{
	cin>>s;
	init();
//	for(int i=1;i<=tot;i++) cout<<a[i]<<" "; cout<<endl;
	int l=-1,r;
	for(int i=1;i<=1003;i++)
	{
		if(vis[i] && l==-1) l=i;
		if(vis[i]) r=i;
		else if(l!=-1)
		{
			if(l==r) cout<<l;
			else cout<<l<<'-'<<r;
			if(i-1!=maxa) cout<<',';
			l=-1;
		}
	}cout<<endl;
	return 0;
}


#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#define N 1000000
#define LL long long
using namespace std;
char t;
LL n,a[N],ok=1,b[N],j=0,start,x;
int main()
{
	ios::sync_with_stdio(false);
	t=getchar();
	while(t!='\n'&&t!=EOF)
	{
		if(t==',')
		{
			a[x]++;
			x=0;
		}
        else
		x=x*10+t-48;
		t=getchar();
	}
	a[x]++;
	for(int i=1;i<=1000;i++)
	if(a[i]!=0)
	b[j++]=i;
	start=b[0];
	for(int i=0;i<j;i++)
	{
		if(b[i]+1==b[i+1])
        ok++;
        else
        {
            if(ok==1&&i!=j-1)
            cout<<b[i]<<",";
            if(ok!=1&&i!=j-1)
        	cout<<start<<"-"<<b[i]<<",";
            if(ok==1&&i==j-1)
            cout<<b[i]<<endl;
            if(ok!=1&&i==j-1)
            cout<<start<<"-"<<b[i]<<endl;
            ok=1;
            start=b[i+1];
        }
	}
	return 0;
}


#include<cmath>
#include<cstdio>
using namespace std;
const int N=1005;
int n=1,o,f;
char x;
bool flag[N]={false},first=true;
int main()
{
    scanf("%d",&o);
    flag[o]=true;
    while(scanf("%c",&x)!=EOF)
    {
        scanf("%d",&o);
        flag[o]=true;
        n++;
    }
    int start,sum=1;
    for(int i=1;i<=1000;i++)
    {
        if(!flag[i])continue;
        if(sum==1)start=i;
        if(!flag[i+1])
        {
            if(!first)printf(",");
            if(first)first=false;
            if(sum==1)printf("%d",i);
            if(sum>=2)printf("%d-%d",start,i);
            sum=1;
            start=0;
        }
        if(flag[i+1])sum++;
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
string s;
int a[105],tot=1;
bool vis[1005];
int maxa;

void init()
{
	for(int i=0;i<s.size();i++)
	{
		if(s[i]==',') maxa=max(a[tot],maxa),tot++;
		else
		{
			a[tot]*=10;
			a[tot]+=s[i]-'0';
		}
	}
	for(int i=1;i<=tot;i++) vis[a[i]]=1;
	return ;
}

int main()
{
	cin>>s;
	init();
//	for(int i=1;i<=tot;i++) cout<<a[i]<<" "; cout<<endl;
	int l=-1,r;
	for(int i=1;i<=1000;i++)
	{
		if(vis[i] && l==-1) l=i;
		if(vis[i]) r=i;
		else if(l!=-1)
		{
			if(l==r) cout<<l;
			else cout<<l<<'-'<<r;
			if(i!=maxa) cout<<',';
			l=-1;
		}
	}cout<<'\b'<<' '<<endl;
	return 0;
}


// luogu-judger-enable-o2
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#include<bits/stdc++.h>
#define R register
using namespace std;
int a[101],n=1;
inline void input()
{
	while(true)
	{
		R char ch=getchar();
		if(ch==',') ++n;
		else if(ch>=48&&ch<=57)
			a[n]=a[n]*10+ch-48;
		else return;
	}
}
int main()
{
	R int f=0;input();
	sort(a+1,a+n+1);
	for(R int i=1;i<=n;++i)
	{
		R int c=i;
		while(a[c+1]-a[c]==1||a[c+1]-a[c]==0) ++c;
		if(a[c]==a[i])
		{
			if(f==0) printf("%d",a[i]),f=1;
			else printf(",%d",a[i]);i=c;continue;
		}
		if(f==0) printf("%d-%d",a[i],a[c]),f=1;
		else printf(",%d-%d",a[i],a[c]);i=c;
	}
	return 0;
}


#include <bits/stdc++.h>
using namespace std;

typedef vector<int> VI;
typedef vector<VI> VVI;
typedef long long LL;
typedef long double LD;

const int inf=1000000000;
const double eps=1e-6;

int a[10000];
int main()
{
	int k;
	while (cin >> k)
	{
		char c;
		cin >> c;
		a[k]=1;
	}
	bool flag=0;
	for (int i=0;i<5000;i++)
	{
		if (a[i]==1)
		{
			if (flag)cout << ",";
			flag=1;
			cout << i;
			i++;
			if (a[i]==1)
			{
				while (a[i]==1)
				{
					i++;
				}
				cout << "-" << i-1;
			}
		}
		else
		{
			i++;
		}
	}
}


#include<bits/stdc++.h>
using namespace std;
string s;
int last,sum,maxx,minn=1001;
bool b[1001],flag;
int main(){
	cin>>s;
	for(int i=0;i<s.size();i++){
		if(s[i]==','){
			sum=0;
			for(int j=last;j<=i-1;j++){
				sum*=10;
				sum+=(s[j]-'0');
			}
			last=i+1;
			b[sum]=1;
			minn=min(minn,sum);
			maxx=max(maxx,sum);
		}
	}
	sum=0;
	for(int i=last;i<=s.size()-1;i++){
		sum*=10;
		sum+=(s[i]-'0');
		b[sum]=1;
	}
	minn=min(minn,sum);
	maxx=max(maxx,sum);
	while(minn<=maxx){
		if(b[minn]==1){
		if(flag) cout<<",";
		else flag=1;
		cout<<minn;
		if(b[minn+1]){
		while(b[minn]==1){
		minn++;
		}
		cout<<"-"<<minn-1;
		}
		}
		minn++;
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int x,cnt,f,maxl=0,a[1005]={0};
char c;
int main()
{
  while(cin>>x)
  {
	cin>>c;
	a[x]=1;
  	maxl=max(maxl,x);
  }
  cnt=0;f=0;
  for(int i=0;i<=maxl+1;i++)
  {
    if(a[i]){cnt++;f=1;}
	else
	{
	  if(f==1)
	  {
	    if(cnt==1)cout<<i-1;
	    if(cnt>1)cout<<i-cnt<<"-"<<i-1;
		f=0;cnt=0;
		if(i<maxl)cout<<",";
	  }
	}
  }
 return 0;
}


#include<cmath>
#include<cstdio>
using namespace std;
const int N=1e4+5;
int n=1,o,f;
char x;
bool flag[N],first=true;
int main()
{
    scanf("%d",&o);
    flag[o]=true;
    while(scanf("%c",&x)!=EOF)
    {
        scanf("%d",&o);
        flag[o]=true;
        n++;
    }
    int start,sum=1;
    for(int i=1;i<=1005;i++)
    {
        if(!flag[i])continue;
        if(sum==1)start=i;
        if(flag[i+1])sum++;
        if(!flag[i+1])
        {
            if(!first)printf(",");
            if(first)first=false;
            if(sum==1)printf("%d",i);
            if(sum==2)printf("%d,%d",start,i);
            if(sum>=3)printf("%d-%d",start,i);
            sum=1;
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
string s;
int a[105],tot=1;
bool vis[1005];
int maxa;

void init()
{
	for(int i=0;i<s.size();i++)
	{
		if(s[i]==',') maxa=max(a[tot],maxa),tot++;
		else
		{
			a[tot]*=10;
			a[tot]+=s[i]-'0';
		}
	}
	for(int i=1;i<=tot;i++) vis[a[i]]=1;
	return ;
}

int main()
{
	cin>>s;
	init();
//	for(int i=1;i<=tot;i++) cout<<a[i]<<" "; cout<<endl;
	int l=-1,r;
	for(int i=1;i<=1000;i++)
	{
		if(vis[i] && l==-1) l=i;
		if(vis[i]) r=i;
		else if(l!=-1)
		{
			if(l==r) cout<<l;
			else cout<<l<<'-'<<r;
			if(i-1!=maxa) cout<<',';
			l=-1;
		}
	}cout<<endl;
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int n,a[102];
bool f;
inline void init()
{
    char t=getchar();
    int x=0;
    while(t!='\n'&&t!=EOF)
    {
        if(t==',')  a[++n]=x,x=0;
        else  x=x*10+t-48;
        t=getchar();
    }
    a[++n]=x;
}
int main()
{
    init();
    sort(a+1,a+n+1);
    n=unique(a+1,a+n+1)-a-1;
    for(int i=1;i<=n;i++)
    {
        int j=i;
        if(f)
			printf(",");
        else
			f=1;
        if(a[i+1]==a[i]+1)
        {
            while(a[j+1]==a[j]+1&&j<n)
				j++;
            if(a[i]==a[j])
				printf("%d",a[i]);
            else
				printf("%d-%d",a[i],a[j]);
        }
		else
		{
            while(a[j+1]==a[j]-1&&j<n)
				j++;
            if(a[i]==a[j])
				printf("%d",a[i]);
            else
				printf("%d-%d",a[j],a[i]);
        }
        i=j;
    }
    return 0;
}

/*
傻逼
*/


#include<bits/stdc++.h>
using namespace std;
int b[222];
string s;
set<int> a;
int cnt[111];
int solve(int w,int u,string s){
	int cnt=0;
	for(int i=w;i<=u;i++){
		cnt*=10;
		cnt+=s[i]-'0';
	}
	return cnt;
}
int main()
{
	cin>>s;
	b[0]=0;
	int ptr1=1,ptr2=0;
	for(int i=0;i<s.size();i++)
		if(s[i]==','){
			b[ptr1++]=i-1;
			b[ptr1++]=i+1;
		}
	b[ptr1++]=s.size()-1;
	for(int i=0;i<ptr1;i+=2)
		a.insert(solve(b[i],b[i+1],s));
	int q=a.size();
	for(int i=0;i<q;i++){
		cnt[ptr2++]=*a.begin();
		a.erase(a.begin());
	}
	for(int i=1;i<=ptr2;i++)
		if(cnt[i]==cnt[i-1]+1){
			for(int j=0;j<i-1;j++){
				cout<<cnt[j]<<',';
				cnt[j]=0;
			}
			break;
		}
	for(int i=0;i<ptr2;i++){
		if(cnt[i]==cnt[i+1]-1){
			int m1=-1,m2=-1;
			int p1=-1,p2=-1;
			p1=cnt[i];
			m1=i;
			for(int j=i;j<=ptr2;j++)
				if(cnt[j]!=cnt[j+1]-1){
					p2=cnt[j];
					m2=j;
					break;
				}
			if(m2!=ptr2-1)
				cout<<p1<<'-'<<p2<<',';
			else
				cout<<p1<<'-'<<p2;
			for(int u=m1;u<=m2;u++)
				cnt[u]=0;
		}
		if(cnt[i]!=cnt[i+1]-1)
			if(cnt[i]!=0)
				if(i==ptr2-1)
					cout<<cnt[i];
				else
					cout<<cnt[i]<<',';
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int b[222];
string s;
set<int> a;
int cnt[111];
int solve(int w,int u,string s){
	int cnt=0;
	for(int i=w;i<=u;i++){
		cnt*=10;
		cnt+=s[i]-'0';
	}
	return cnt;
}
int main()
{
	cin>>s;
	b[0]=0;
	int ptr1=1,ptr2=0;
	for(int i=0;i<s.size();i++)
		if(s[i]==','){
			b[ptr1++]=i-1;
			b[ptr1++]=i+1;
		}
	b[ptr1++]=s.size()-1;
	for(int i=0;i<ptr1;i+=2)
		a.insert(solve(b[i],b[i+1],s));
	int q=a.size();
	for(int i=0;i<q;i++){
		cnt[ptr2++]=*a.begin();
		a.erase(a.begin());
	}
	for(int i=1;i<=ptr2;i++){
		int m1=-1,m2=-1;
		if(cnt[i]==cnt[i-1]+1){
			int p1=-1,p2=-1;
			p1=cnt[i-1];
			m1=i-1;
			for(int j=i;j<=ptr2;j++)
				if(cnt[j]!=cnt[j-1]+1){
					p2=cnt[j-1];
					m2=j-1;
					break;
				}
			if(m2!=ptr2-1)
				cout<<p1<<'-'<<p2<<',';
			else
				cout<<p1<<'-'<<p2;
		}
		for(int u=m1;u<=m2;u++)
			cnt[u]=0;
	}
	for(int i=0;i<ptr2;i++)
		if(cnt[i]!=0){
			if(i!=ptr2-1)
				cout<<cnt[i]<<',';
			else
				cout<<cnt[i];
		}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int b[222];
string s;
set<int> a;
int cnt[111];
int solve(int w,int u,string s){
	int cnt=0;
	for(int i=w;i<=u;i++){
		cnt*=10;
		cnt+=s[i]-'0';
	}
	return cnt;
}
int main()
{
	cin>>s;
	b[0]=0;
	int ptr1=1,ptr2=0;
	for(int i=0;i<s.size();i++)
		if(s[i]==','){
			b[ptr1++]=i-1;
			b[ptr1++]=i+1;
		}
	b[ptr1++]=s.size()-1;
	for(int i=0;i<ptr1;i+=2)
		a.insert(solve(b[i],b[i+1],s));
	int q=a.size();
	for(int i=0;i<q;i++){
		cnt[ptr2++]=*a.begin();
		a.erase(a.begin());
	}
	for(int i=1;i<=ptr2;i++)
		if(cnt[i]==cnt[i-1]+1){
			for(int j=0;j<i-1;j++){
				cout<<cnt[j]<<',';
				cnt[j]=0;
			}
			break;
		}
	for(int i=1;i<ptr2;i++){
		if(cnt[i]==cnt[i-1]+1){
			int m1=-1,m2=-1;
			int p1=-1,p2=-1;
			p1=cnt[i-1];
			m1=i-1;
			for(int j=i;j<=ptr2;j++)
				if(cnt[j]!=cnt[j-1]+1){
					p2=cnt[j-1];
					m2=j-1;
					break;
				}
			if(m2!=ptr2-1)
				cout<<p1<<'-'<<p2<<',';
			else
				cout<<p1<<'-'<<p2;
			for(int u=m1;u<=m2;u++)
				cnt[u]=0;
		}
		if(cnt[i]!=cnt[i+1]-1)
			if(cnt[i]!=0)
				if(i==ptr2-1)
					cout<<cnt[i];
				else
					cout<<cnt[i]<<',';
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int b[222];
string s;
set<int> a;
int cnt[111];
int solve(int w,int u,string s){
	int cnt=0;
	for(int i=w;i<=u;i++){
		cnt*=10;
		cnt+=s[i]-'0';
	}
	return cnt;
}
int main()
{
	cin>>s;
	b[0]=0;
	int ptr1=1,ptr2=0;
	for(int i=0;i<s.size();i++)
		if(s[i]==','){
			b[ptr1++]=i-1;
			b[ptr1++]=i+1;
		}
	b[ptr1++]=s.size()-1;
	for(int i=0;i<ptr1;i+=2)
		a.insert(solve(b[i],b[i+1],s));
	int q=a.size();
	for(int i=0;i<q;i++){
		cnt[ptr2++]=*a.begin();
		a.erase(a.begin());
	}
	for(int i=1;i<=ptr2;i++)
		if(cnt[i]==cnt[i-1]+1){
			for(int j=0;j<i-1;j++){
				cout<<cnt[j]<<',';
				cnt[j]=0;
			}
			break;
		}
	for(int i=0;i<ptr2;i++){
		if(cnt[i]==cnt[i-1]+1){
			int m1=-1,m2=-1;
			int p1=-1,p2=-1;
			p1=cnt[i-1];
			m1=i-1;
			for(int j=i;j<=ptr2;j++)
				if(cnt[j]!=cnt[j-1]+1){
					p2=cnt[j-1];
					m2=j-1;
					break;
				}
			if(m2!=ptr2-1)
				cout<<p1<<'-'<<p2<<',';
			else
				cout<<p1<<'-'<<p2;
			for(int u=m1;u<=m2;u++)
				cnt[u]=0;
		}
		if(cnt[i]!=cnt[i+1]-1)
			if(cnt[i]!=0)
				if(i==ptr2-1)
					cout<<cnt[i];
				else
					cout<<cnt[i]<<',';
	}
	return 0;
}


#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int main() {
	string s;
	int amt;  // poxvogh zibil, sranov stugum em te irar hetevic qani tiv a linelu
	map<int,int> m;
	vector<int> v;
	int num[100000],x,y,z,w,k;
	y=0;
	amt=0;
	k=0;
	cin>>s;
	for(x=0;x<s.length();x++){
		if (s[x]!=','){
			num[y]=num[y]*10+(s[x]-'0');
		}
		else {
			y=y+1;
		}
	}
	for (z=0;z<y+1;z++){
		if (m[num[z]]!=1){
		    v.push_back(num[z]);
		    m[num[z]]=1;
		    k=k+1;
		}
	}
	sort (v.begin(), v.end());
	for (w=0;w<k;w++){
		cout<<v[w];
		while (v[w]+1==v[w+1]){
			w=w+1;
			amt=amt+1;
		}
		if (amt!=0){
			if (w!=k-1){
			cout<<"-"<<v[w]<<",";
			}
			else{
				cout<<"-"<<v[w];
			}
		}
		else {
			if (w!=k-1){
				cout<<",";
			}
		}
		amt=0;
	}
	return 0;
}


#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int main() {
	string s;
	int amt;  // poxvogh zibil, sranov stugum em te irar hetevic qani tiv a linelu
	map<int,int> m;
	vector<int> v;
	int num[100000],x,y,z,w;
	y=0;
	amt=0;
	cin>>s;
	for(x=0;x<s.length();x++){
		if (s[x]!=','){
			num[y]=num[y]*10+(s[x]-'0');
		}
		else {
			y=y+1;
		}
	}
	for (z=0;z<y+1;z++){
		if (m[num[z]]==0){
		    v.push_back(num[z]);
		    m[num[z]]==1;
		}
	}
	sort (v.begin(), v.begin()+(y+1));
	for (w=0;w<y+1;w++){
		cout<<v[w];
		while (v[w]+1==v[w+1]){
			w=w+1;
			amt=amt+1;
		}
		if (amt!=0){
			if (w!=y){
			cout<<"-"<<v[w]<<",";
			}
			else{
				cout<<"-"<<v[w];
			}
		}
		amt=0;
	}
	return 0;
}


#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int main() {
	string s;
	int amt;  // poxvogh zibil, sranov stugum em te irar hetevic qani tiv a linelu
	map<int,int> m;
	vector<int> v;
	int num[100000],x,y,z,w,k;
	y=0;
	amt=0;
	k=0;
	cin>>s;
	for(x=0;x<s.length();x++){
		if (s[x]!=','){
			num[y]=num[y]*10+(s[x]-'0');
		}
		else {
			y=y+1;
		}
	}
	for (z=0;z<y+1;z++){
		if (m[num[z]]!=1){
		    v.push_back(num[z]);
		    m[num[z]]=1;
		    k=k+1;
		}
	}
	sort (v.begin(), v.end());
	for (w=0;w<k;w++){
		cout<<v[w];
		while (v[w]+1==v[w+1]){
			w=w+1;
			amt=amt+1;
		}
		if (amt!=0){
			if (w!=k-1){
			cout<<"-"<<v[w]<<",";
			}
			else{
				cout<<"-"<<v[w];
			}
		}
		amt=0;
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
    int id=0;
    char te;
    while(cin>>a[id++])
    {
        te=getchar();
        if(te=='\n')
            break;
    }
    sort(a,a+id);
    int num=unique(a,a+id)-a;
    int b=0,e=0;
    for(int i=0; i<num-1; ++i)
    {
        if(a[i]+1==a[i+1])
            e++;
        else
        {
            if(b!=e)
                cout<<a[b]<<'-'<<a[e];
            else
            {
                cout<<a[b];
            }
            if(i<num)
                cout<<',';
            b=e+1;
            e=b;
            if(b==num-1)
                cout<<a[b];
        }
    }
    if(b!=e)
        cout<<a[b]<<'-'<<a[e];
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
    int id=0;
    char te;
    register char t=getchar();
    register int x=0;
    while(t!='\n'&&t!=EOF)
    {
        if(t==',')  a[id++]=x,x=0;
        else  x=x*10+t-48;
        t=getchar();
    }
    a[id++]=x;
    sort(a,a+id);
    int num=unique(a,a+id)-a;
    int b=0,e=0;
    for(int i=0; i<num-1; ++i)
    {
        if(a[i]+1==a[i+1])
            e++;
        else
        {
            if(b!=e)
                cout<<a[b]<<'-'<<a[e];
            else
            {
                cout<<a[b];
            }
            if(i<num)
                cout<<',';
            b=e+1;
            e=b;
            if(b==num-1)
                cout<<a[b];
        }
    }
    if(b!=e)
        cout<<a[b]<<'-'<<a[e];
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
    int id=0;
    char te;
    while(cin>>a[id++])
    {
        te=getchar();
        if(te=='\n')
            break;
    }
    sort(a,a+id);
    int num=unique(a,a+id)-a;
    int b=0,e=0;
    for(int i=0; i<num-1; ++i)
    {
        if(a[i]+1==a[i+1])
            e++;
        else
        {
            if(b!=e)
                cout<<a[b]<<'-'<<a[e];
            else
            {
                cout<<a[b];
            }
            if(i<num)
                cout<<',';
            b=e+1;
            e=b;
            if(b==num-1)
                cout<<a[b];
        }
    }
    if(b!=e)
        cout<<a[b]<<'-'<<a[e];
    else if(b==e&&num==1)
        cout<<a[b];
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
int a[105];
int main()
{
    int id=0;
    char te;
    while(cin>>a[id++])
    {
        te=getchar();
        if(te=='\n')
            break;
    }
    sort(a,a+id);
    int num=unique(a,a+id)-a;
    int b=0,e=0;
    for(int i=0; i<num-1; ++i)
    {
        if(a[i]+1==a[i+1])
            e++;
        else
        {
            if(b!=e)
                cout<<a[b]<<'-'<<a[e];
            else
            {
                cout<<a[b];
            }
            if(i<num)
                cout<<',';
            b=e+1;
            e=b;
            if(b==num-1)
                cout<<a[b];
        }
    }
    if(b==0&&e==num-1)
        cout<<a[b]<<'-'<<a[e];
    return 0;
}


#include<iostream>
#include<string>
#include<string.h>
#include<cstring>
#include<queue>
#include<map>
using namespace std;

struct po{
    int sta,en;
}pp[1005];

int ams[1005];
int len1=0,len2=0;
map<int ,int>ma;
priority_queue< int ,vector<int> , greater<int> >que;

int main()
{
    string str;
    int a;
    getline(cin,str);
    for(int i=0;i<str.length();i++)
    {
        if(str[i]==',') continue;
        else {
            a=0;
            while(str[i]!=','&&i<str.length())
            {
                a=a*10+str[i]-'0';
                i++;
            }
        }
        if(ma[a]==0) {
            que.push(a);
            ma[a]=1;
        }
    }/*
    while(!que.empty()){
        cout<<que.top()<<" ";
        que.pop();
    }
    */
    while(!que.empty())
    {
        int p1=que.top(),p2;que.pop();
        p2=p1;
        int mark=1;
        while(!que.empty())
        {
            mark=0;
            int p3=que.top();
            if(p3==p1+1) {
                p1++;
                que.pop();
            }
            else {
                if(p1==p2)
                {
                    ams[len2]=p2;
                    len2++;
                    break;
                }
                else {
                    pp[len1].sta=p2;
                    pp[len1].en=p1;
                    len1++;
                    break;
                }
            }
            if(que.empty())
            {
                pp[len1].sta=p2;
                pp[len1].en=p1;
                len1++;
                break;
            }
        }
        if(mark)
        {
            ams[len2]=p1;
            len2++;
        }
    }
    if(len1==0)
    {
        cout<<ams[0];
        for(int i=1;i<len2;i++) cout<<","<<ams[i];
    }
    else
    {
        cout<<pp[0].sta<<"-"<<pp[0].en;
        for(int i=1;i<len1;i++) cout<<","<<pp[i].sta<<"-"<<pp[i].en;
        for(int i=0;i<len2;i++) cout<<","<<ams[i];
    }
    return 0;
}


#include<iostream>
#include<string>
#include<string.h>
#include<cstring>
#include<queue>
#include<map>
using namespace std;

struct po{
    int sta,en;
}pp[1005];

int len1=0;
map<int ,int>ma;
priority_queue< int ,vector<int> , greater<int> >que;

int main()
{
    string str;
    int a;
    getline(cin,str);
    for(int i=0;i<str.length();i++)
    {
        if(str[i]==',') continue;
        else {
            a=0;
            while(str[i]!=','&&i<str.length())
            {
                a=a*10+str[i]-'0';
                i++;
            }
        }
        if(ma[a]==0) {
            que.push(a);
            ma[a]=1;
        }
    }/*
    while(!que.empty()){
        cout<<que.top()<<" ";
        que.pop();
    }
    */
    while(!que.empty())
    {
        int p1=que.top(),p2;que.pop();
        p2=p1;
        int mark=1;
        while(!que.empty())
        {
            mark=0;
            int p3=que.top();
            if(p3==p1+1) {
                p1++;
                que.pop();
            }
            else {
                if(p1==p2)
                {
                    pp[len1].sta=p1;
                    pp[len1].en=-1;
                    len1++;
                    break;
                }
                else {
                    pp[len1].sta=p2;
                    pp[len1].en=p1;
                    len1++;
                    break;
                }
            }
            if(que.empty())
            {
                pp[len1].sta=p2;
                pp[len1].en=p1;
                len1++;
                break;
            }
        }
        if(mark)
        {
            pp[len1].sta=p1;
            pp[len1].en=-1;
            len1++;
        }
    }
    if(pp[0].en==-1) cout<<pp[0].sta;
    else cout<<pp[0].sta<<"-"<<pp[0].en;
    for(int i=1;i<len1;i++) {
        if(pp[i].en==-1) cout<<","<<pp[i].sta;
        else cout<<","<<pp[i].sta<<"-"<<pp[i].en;
    }
    return 0;
}
//996,999,998,984,989,1000,996,993,1000,983,992,999,999,1000,979,992,987,1000,996,1000,1000,989,981,996,995,999,999,989,999,1000


#include <stdio.h>
int main(){
    bool a[1005],f=false;
    int temp;
    for(int i=0;i<1005;i++)a[i]=false;
    scanf("%d",&temp);
    a[temp]=true;
    while(scanf(",%d",&temp)!=EOF)a[temp]=true;
    for(int i=1;i<=1005;i++){
        if(a[i]){
            if(a[i-1])continue;
            else {
                if(f)printf(",");
                printf("%d",a[i]);
                f=true;
            }
        }
        else if(a[i-1]&&a[i-2])printf("-%d",i-1);
    }
    printf("\n");
}


#include <stdio.h>
int main(){
    bool a[1005],f=false;
    int temp=0,now=0;
    char c[100000];
    for(int i=0;i<100000;i++)c[i]='\0';
    for(int i=0;i<1005;i++)a[i]=false;
    scanf("%s",c);
    while(c[now]!='\0'){
        if(c[now]!=','){
            temp*=10;
            temp+=c[now]-'0';
        }
        else{
            a[temp]=true;
            temp=0;
        }
        now++;
    }
    a[temp]=true;
    a[0]=false;
    for(int i=1;i<=1005;i++){
        if(a[i]){
            if(a[i-1])continue;
            else {
                if(f)printf(",");
                printf("%d",i);
                f=true;
            }
        }
        else if(a[i-1]&&a[i-2])printf("-%d",i-1);
    }
    printf("\n");
}


#include <stdio.h>
int main(){
    bool a[1005],f=false;
    int temp=0,now=0;
    char c[100000];
    for(int i=0;i<100000;i++)c[i]='\0'
    for(int i=0;i<1005;i++)a[i]=false;
    scanf("%s",c);
    while(c[now]!='\0'){
        if(c[now]!=','){
            temp*=10;
            temp+=c[now]-'0';
        }
        else{
            a[temp]=true;
            temp=0;
        }
    }
    for(int i=1;i<=1005;i++){
        if(a[i]){
            if(a[i-1])continue;
            else {
                if(f)printf(",");
                printf("%d",i);
                f=true;
            }
        }
        else if(a[i-1]&&a[i-2])printf("-%d",i-1);
    }
    printf("\n");
}


#include <stdio.h>
int main(){
    bool a[1001],f=false;
    int temp;
    for(int i=0;i<1001;i++)a[i]=false;
    while(scanf("%d",&temp)!=EOF)a[temp]=true;
    for(int i=1;i<=1001;i++){
        if(a[i]){
            if(a[i-1])continue;
            else {
                if(f)printf(",");
                printf("%d",a[i]);
                f=true;
            }
        }
        else if(a[i-1]&&a[i-2])printf("-%d",i-1);
    }
    printf("\n");
}


#include <stdio.h>
int main(){
    bool a[1005],f=false;
    int temp=0,now=0;
    char c[100000];
    for(int i=0;i<100000;i++)c[i]='\0'
    for(int i=0;i<1005;i++)a[i]=false;
    scanf("%s",c);
    while(c[now]!='\0'){
        if(c[now]!=','){
            temp*=10;
            temp+=c[now]-'0';
        }
        else{
            a[temp]=true;
            temp=0;
        }
        now++;
    }
    for(int i=1;i<=1005;i++){
        if(a[i]){
            if(a[i-1])continue;
            else {
                if(f)printf(",");
                printf("%d",i);
                f=true;
            }
        }
        else if(a[i-1]&&a[i-2])printf("-%d",i-1);
    }
    printf("\n");
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    bool fst = true;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (a[i] && flag) printf("-%d", i); else if (fst) printf("%d", i); else printf(",%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
                if (flag >= 2) flag = 0, printf("-%d", last);
                else flag = 0;
        }
        else if (a[i])
        {
            last = i, flag++;
            if (!fst) putchar(',');
            fst = false;
            printf("%d", i);
        }
    }
    // system("pause");
    return 0;
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (flag) putchar('-'); printf("%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
            {
                if (flag > 2) flag = 0, printf("-%d,", last);
                else if (flag == 2) flag = 0, printf(",%d,", last);
            }
        }
        else if (a[i]) last = i, flag++, printf("%d", i);
    }
    // system("pause");
    return 0;
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (a[i] && flag >= 2) printf("-%d", i); else printf(",%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
            {
                if (flag > 2) flag = 0, printf("-%d", last);
                else if (flag == 2) flag = 0, printf(",%d", last);
            }
        }
        else if (a[i]) last = i, flag++, printf("%d", i);
    }
    // system("pause");
    return 0;
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    bool fst = true;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (a[i] && flag) printf("-%d", i); else printf(",%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
                if (flag >= 2) flag = 0, printf("-%d", last);
                else flag = 0;
        }
        else if (a[i])
        {
            last = i, flag++;
            if (!fst) putchar(',');
            fst = false;
            printf("%d", i);
        }
    }
    // system("pause");
    return 0;
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    bool fst = true;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (a[i] && flag >= 2) printf("-%d", i); else printf(",%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
            {
                if (flag > 2) flag = 0, printf("-%d", last);
                else if (flag == 2) flag = 0, printf(",%d", last);
            }
        }
        else if (a[i])
        {
            last = i, flag++;
            if (!fst) putchar(',');
            fst = false;
            printf("%d", i);
        }
    }
    // system("pause");
    return 0;
}


#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
char str[10000];
bool a[10000];
int main()
{
    scanf("%s", str + 1);
    int n = strlen(str + 1); str[++n] = ',';
    int now = 0, _max = 0, last = 0, flag = 0;
    for (int i = 1; i <= n + 1; i++)
        if (str[i] != ',') now = now * 10 + str[i] - '0';
        else a[now] = 1, _max = max(_max, now), now = 0;
    for (int i = 0; i <= _max; i++)
    {
        if (i == _max) {if (flag > 2) putchar('-');else printf(",%d", i); break;}
        if (flag)
        {
            if (a[i]) {last = i, flag++;}
            else
            {
                if (flag > 2) flag = 0, printf("-%d", last);
                else if (flag == 2) flag = 0, printf(",%d", last);
            }
        }
        else if (a[i]) last = i, flag++, printf("%d", i);
    }
    // system("pause");
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
set<int> s;
int a[105],cnt,cur,now;
int main() {
    set<int>::iterator iter;

    while(true)
    {
       char ch=getchar();
       if(ch==',') {
          s.insert(cur);
          cur=0;
       }
       else {
            if(ch>='0'&&ch<='9') cur=cur*10+ch-'0';
            else {
                s.insert(cur);
                break;
            }
        }
	}
    for(it=s.begin();it!=s.end();it++) a[++cnt]=*it;
    int last=a[1],now=1;
    for(int i=1;i<=cnt;i++) {
        if(a[j]+1==a[j+1]) now++;
        else {
            if(now==1) {
                if(i==cnt) printf("%d\n",a[i]);
                else printf("%d,",a[i]);
            }
            if(now!=1) {
                if(i==cnt) printf("%d-%d,",last,a[i]);
                else printf("%d-%d\n",last,a[i]);
            }
            now=1;
            last=a[i+1];
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
set<int> s;
int a[105],cnt,cur,now;
int main() {
    set<int>::iterator it;
    while(true) {
       char ch=getchar();
       if(ch==',') {
          s.insert(cur);
          cur=0;
       }
       else {
            if(ch>='0'&&ch<='9') cur=cur*10+ch-'0';
            else {
                s.insert(cur);
                break;
            }
        }
	}
    for(it=s.begin();it!=s.end();it++) a[++cnt]=*it;
    int last=a[1],now=1;
    for(int i=1;i<=cnt;i++) {
        if(a[i]+1==a[i+1]) now++;
        else {
            if(now==1) {
                if(i==cnt) printf("%d\n",a[i]);
                else printf("%d,",a[i]);
            }
            if(now!=1) {
                if(i==cnt) printf("%d-%d,",last,a[i]);
                else printf("%d-%d\n",last,a[i]);
            }
            now=1;
            last=a[i+1];
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
set<int> s;
int a[105],cnt,cur,now;
int main() {
    set<int>::iterator it;
    while(true) {
       char ch=getchar();
       if(ch==',') {
          s.insert(cur);
          cur=0;
       }
       else {
            if(ch>='0'&&ch<='9') cur=cur*10+ch-'0';
            else {
                s.insert(cur);
                break;
            }
        }
	}
    for(it=s.begin();it!=s.end();it++) a[++cnt]=*it;
    int last=a[1],now=1;
    for(int i=1;i<=cnt;i++) {
        if(a[j]+1==a[j+1]) now++;
        else {
            if(now==1) {
                if(i==cnt) printf("%d\n",a[i]);
                else printf("%d,",a[i]);
            }
            if(now!=1) {
                if(i==cnt) printf("%d-%d,",last,a[i]);
                else printf("%d-%d\n",last,a[i]);
            }
            now=1;
            last=a[i+1];
        }
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
string s1;
int a[105],cnt,now,cur=1,last;
set<int>s;
int main() {
	cin>>s1;
	set<int>::iterator it;
	for(int i=0;i<s1.length();i++) {
		if(s1[i]==',') {
			s.insert(now);
			now=0;
		}
		else if(s1[i]<='9'&&s1[i]>='0'){
			now=now*10+s1[i]-'0';
			if(i==s1.length()-1) {
				s.insert(now);
				break;
			}
		}
	}
	for(it=s.begin();it!=s.end();++it) a[++cnt]=*it;
	last=a[1];
	for(int i=1;i<=cnt;i++) {
		if(a[i]==a[i+1]-1) cur++;
		else {
			if(cur==1) {
				if(i!=cnt) printf("%d,",a[i]);
				else printf("%d\n",a[i]);
			}
			else if(cur>1) {
				if(i!=cnt) printf("%d-%d,",last,a[i]);
				else printf("%d-%d\n",last,a[i]);
				last=a[i+1];
			}
			cur=1;
		}
	}
	return 0;
}


#include<bits/stdc++.h>
using namespace std;
set<int> s;
int a[105],cnt,cur,now;
int main() {
    set<int>::iterator it;
    while(true) {
       char ch=getchar();
       if(ch==',') {
          s.insert(cur);
          cur=0;
       }
       else {
            if(ch>='0'&&ch<='9') cur=cur*10+ch-'0';
            else {
                s.insert(cur);
                break;
            }
        }
	}
    for(it=s.begin();it!=s.end();it++) a[++cnt]=*it;
    int last=a[1],now=1;
    for(int i=1;i<=cnt;i++) {
        if(a[i]+1==a[i+1]) now++;
        else {
            if(now==1) {
                if(i==cnt) printf("%d\n",a[i]);
                else printf("%d,",a[i]);
            }
            if(now!=1) {
                if(i!=cnt) printf("%d-%d,",last,a[i]);
                else printf("%d-%d\n",last,a[i]);
            }
            now=1;
            last=a[i+1];
        }
    }
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ull unsigned long long
#define erep(i, x, n) for (int i = x; i<=(int)(n); i++)
#define rep(i, x, n) for(int i = x; i<(int)(n); i++)
#define vi vector<int>
#define vii vector< pair<int, int> >
#define vvi vector< vi >
#define vll vector<long long>
#define vc vector<char>
#define vb vector<bool>
#define vvii vector< vector< pii > >
#define pii pair<int, int>
#define mapii map<int, int>
#define mapsi map<string, int>
#define INF  LLONG_MAX
#define all(v) ((v).begin()), ((v).end())
#define sz(v) ((int)((v).size()))
#define pie  acos(-1)
#define mod(n,m) ((n % m + m) % m)
#define eps (1e-9)
#define reset(n, m) memset(n, m, sizeof n)
#define endl '\n'

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    string x;
    cin >> x;
    vi vec;
    int temp = 0;
    bool visited[1010] = {};
    rep(i, 0, sz(x))
    {
        if (x[i] != ',') temp = temp*10 + x[i] - 48;
        else
        {
            if (!visited[temp]) visited[temp] = true;
            temp = 0;
        }
        if (i+1 == sz(x) && temp) if (!visited[temp]) visited[temp] = true;
    }
    int hoba = 0, hela = 0;
    bool zeft = false;
    erep(i, 1, 1005)
    {
        if (!hoba && visited[i]) hoba = i;
        if (!hoba) continue;
        if (!visited[i])
        {
            hela = i-1;
            if (zeft) cout << ",";
            if (hela == hoba) cout << hoba;
            else cout << hoba << "-" << hela;
            hela = hoba = 0;
            zeft = true;
        }
    }
    return 0;
}


#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define ull unsigned long long
#define erep(i, x, n) for (int i = x; i<=(int)(n); i++)
#define rep(i, x, n) for(int i = x; i<(int)(n); i++)
#define vi vector<int>
#define vii vector< pair<int, int> >
#define vvi vector< vi >
#define vll vector<long long>
#define vc vector<char>
#define vb vector<bool>
#define vvii vector< vector< pii > >
#define pii pair<int, int>
#define mapii map<int, int>
#define mapsi map<string, int>
#define INF  LLONG_MAX
#define all(v) ((v).begin()), ((v).end())
#define sz(v) ((int)((v).size()))
#define pie  acos(-1)
#define mod(n,m) ((n % m + m) % m)
#define eps (1e-9)
#define reset(n, m) memset(n, m, sizeof n)
#define endl '\n'

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    string x;
    cin >> x;
    vi vec;
    int temp = 0;
    bool visited[1010] = {};
    rep(i, 0, sz(x))
    {
        if (x[i] != ',') temp = temp*10 + x[i] - 48;
        else
        {
            if (!visited[temp]) vec.push_back(temp), visited[temp] = true;
            temp = 0;
        }
        if (i+1 == sz(x) && temp) if (!visited[temp]) vec.push_back(temp);
    }
    int hoba = 0, hela = 0;
    bool zeft = false;
    erep(i, 1, 1005)
    {
        if (!hoba && visited[i]) hoba = i;
        if (!hoba) continue;
        if (!visited[i])
        {
            hela = i-1;
            if (zeft) cout << ",";
            if (hela == hoba) cout << hela;
            else cout << hoba << "-" << hela;
            hela = hoba = 0;
            zeft = true;
        }
    }
    return 0;
}