#include <stdio.h>

int main() {
	int w, h, i, n, m;

	scanf("%d%d", &w, &h);
	n = m = 0;
	for (i = 2; i <= w; i += 2)
		n += w - i + 1;
	for (i = 2; i <= h; i += 2)
		m += h - i + 1;
	printf("%lld\n", (long long) n * m);
	return 0;
}


#include<stdio.h>
int main(){
	long long ye,be,x,y,z,khas;
	scanf("%lld%lld%lld%lld%lld",&ye,&be,&x,&y,&z);
	ye=(ye-((x*2)+y));
	be=(be-((z*3)+y));
	if(ye<0 && be<0){
		khas= -1*(ye + be);
		printf("%lld",khas);
	}
	else if(ye<0 && be>=0){
		khas= -1*(ye);
			printf("%lld",khas);
	}
	else if (ye>=0 && be<0){
		khas=-1*(be);
			printf("%lld",khas);
	}
	else
		printf("0");
	return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  long long int a,b;
  //printf("Enter a and b:");
  scanf("%lld%lld",&a,&b);
  long long int y,g,bl;
  //printf("Enter the data:");
  scanf("%lld%lld%lld",&y,&g,&bl);
  long long int yellow,blue;
  yellow=2*y+g;
  blue=3*bl+g;
  long long int t1=yellow-a;
  long long int t2=blue-b;
  if(t1<0)
    t1=0;
  if(t2<0)
    t2=0;

  long long int ans=t1+t2;
  if(ans>0)
  printf("%lld",ans);
  else
    printf("0");
  return 0;
}


#include<stdio.h>
int main(){
    int n,max=0;
    scanf("%d",&n);
    int a[n],c[101]={0};
    for(int  i=0;i < n;i++){
        scanf("%d",&a[i]);
        c[a[i]]++;
        if(max < c[a[i]])
        max = c[a[i]];
    }
    printf("%d",max);
    return 0;
}


#include<stdio.h>
int main()
{
    long long int i,j,n,c,max;
    scanf("%lld",&n);
    long long int a[n];
    max=0;
    c=1;
    for(i=0;i<n;i++)
    {
        scanf("%lld",&a[i]);
        for(j=i-1;j>=0;j--)
        {
            if(a[i]==a[j])
            {
                c++;
            }
        }
        if(max<c)
        {
            max=c;
        }
        c=1;
    }
    printf("%lld",max);
}


 #include<stdio.h>
int main()
{
	long long n,s=0;
	scanf("%lld",&n);
	while(n)
	{
		switch(n%10)
		{
			case 4:
			case 7: s++;
		}
		n/=10;
	}
	int f=0;
	if(s==0) {printf("NO"); return 0;}
	while(s)
	{
		switch(s%10)
		{
			case 4:
			case 7:break;
			default:
			f=1;
		}
		s/=10;
	}
	if(f==0) printf("YES");
	else printf("NO");

	return 0;
}


#include<stdio.h>
int main()
{
    long long n,f=0;
    scanf("%lld",&n);
    while(n!=0)
    {
        if(n%10==4 || n%10==7)
        {
            f++;
        }
        n=n/10;
    }
    if(f==4 || f==7)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
    return 0;
}


#include <stdio.h>

int main()
{
    short int n;
    short int numberofBlocks[100];

    scanf(" %hu", &n);
    for(int i=0;i<n;i++)
        scanf(" %hu",&numberofBlocks[i]);

    for(short int column=n-2;column>-1;column--)
    {
        short int destination=column+1;
        if(numberofBlocks[destination]>=numberofBlocks[column])
            continue;

        while(1)
        {
            while(1)
            {
                if(numberofBlocks[destination+1]<numberofBlocks[column] && destination+1<n)
                    destination++;
                else
                    break;
            }

            //moving the block
            short int numberofBlocksMoved=numberofBlocks[column]-numberofBlocks[destination];
            numberofBlocks[destination]+=numberofBlocksMoved;
            numberofBlocks[column]-=numberofBlocksMoved;

            //reseting destination to next block
            destination=column+1;
            if(numberofBlocks[destination]>=numberofBlocks[column])
                break;
        }
    }

    for(int i=0;i<n;i++)
        printf("%d ",numberofBlocks[i]);
    printf("\n");

    return 0;
}


#include<stdio.h>
long long int gcd(long long int a,long long int b)

{ if (b != 0)
       return gcd(b, a%b);
    else
       return a;
}
int main()
{
	long long int n,a,b,p,q;
	scanf("%lld%lld%lld%lld%lld",&n,&a,&b,&p,&q);
	long long int sum=0,d,e,f,i,g;
if(a<b)
i=a;
else
i=b;

if(i>n)
printf("0\n");
else
{

f=a*b/gcd(a,b);
//printf("%lld %lld\n",g,f);
g=n/f;
if(p>q)
{
d=n/a;
e=n/b-g;
}
else
{
d=n/a-g;
e=n/b;
}
//printf("%lld %lld %lld\n",d,e,f);
sum=d*p+e*q;
printf("%lld\n",sum);
}
return 0;
}


#include <stdio.h>
#include <stdlib.h>

long long int gcd(long long int a,long long int b){
    return b == 0 ? a : gcd(b,a%b);
}

long long int lcm(long long int a,long long int b) {
    return a*(b/gcd(a,b));
}

int main(){
    long long int n,a,b,p,q,i,total=0,aux,aux2;
    scanf("%lld %lld %lld %lld %lld",&n,&a,&b,&p,&q);

    if(p>q){
        aux=n/a;
        total=aux*p;
        if(b%a==0){
            printf("%lld\n",total);
            exit(0);
        }
        aux=lcm(a,b);
        aux2=n/aux;
        aux2*=q;
        aux=((n/b)*q)-aux2;
        total+=aux;
    }else
    if(q>=p){
        aux=n/b;
        total=aux*q;
        if(a%b==0){
            printf("%lld\n",total);
            exit(0);
        }
        aux=lcm(a,b);
        aux2=n/aux;
        aux2*=p;
        aux=((n/a)*p)-aux2;
        total+=aux;
    }
    printf("%lld\n",total);
}
/* 1520859454897 */


#include <stdio.h>

int min(int a, int b)
{
    return (b > a ? a : b);
}

int max(int a, int b)
{
    return (a > b ? a : b);
}

int main(void)
{
    int temp, small, a, b;
    int res;
    int i;

    small = 100000;

    for (i = 0; i < 4; i++){
        scanf("%d", &temp);
        small = min(small, temp);
    }

    scanf("%d%d", &a, &b);

    res = 0;
    for (i = a; i <= b; i++){
        if (i < small){
            res++;
        }
    }

    printf("%d\n", res);

    return (0);
}


#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <limits.h>
#define mod 1000000000+7
#define N 400000+5
#define rep(i,n) for(i=0;i<n;i++)
#define rrep(i,n) for(i=n-1;i>=0;i--)
typedef long long ll;
int min(int,int);
int max(int,int);
int cmp(const void*,const void*);
ll cmpl(const void *,const void*);
int _gcd(int,int);
int lcm(int,int);
int bSearch(int*,int,int,int);

int main(int argc, char *argv[])
{
	ll n,ans=1,i;
	scanf("%lld",&n);
	for(i=n-1;i>(n/2);i--)
		ans*=i;
	for(i=1;i<n/2;i++)
		ans*=i;
	printf("%lld\n",ans);
}
int min(int a,int b){
	if(a<b)return a;
	return b;
}
int max(int a,int b){
	if(a>b)return a;
	return b;
}
int cmp(const void *a,const void *b){
	return *(int*)a-*(int*)b;
}
ll cmpl(const void *a,const void *b){
	return *(ll*)a-*(ll*)b;
}
int _gcd (int a, int b){
    while(b)a^=b,b^=a,a^=b,b=b%a;
    return a;
}
int lcm(int a,int b){
 	return (a*b)/(_gcd(a,b));
}
int bSearch(int *a,int l,int r,int item){
	int mid;
	while(l<=r){
		mid=(l+r)/2;
		if(item>a[mid])
			l=mid+1;
		else if(item<a[mid])
			r=mid-1;
		else if(item==a[mid])
			return mid;
	}
	return -1;
}
/*
	I have 3 things to say:-
	1.Practice
	2.Practice More
*/


#include<stdio.h>
#include<math.h>
int main( )
{
	int a,b,c,d,count,i,j,flag=0;
	scanf("%d %d %d %d",&a,&b,&c,&d);
	for(j=0;j<101;j++)
	{
		for(i=0;i<101;i++)
		{
			if((b+j*a)==(d+i*c))
			{
				flag=1;
				break;
			}
		}
		if(flag==1)
		{
			break;
		}
	}
	if(flag==1)
	{
		printf("%d\n",b+j*a);
	}
	else
	{
		printf("-1\n");
	}
	return 0;
}


#include <stdio.h>
#include <stdlib.h>

int Cmp(const void * a, const void * b){
    return *(int*)a-*(int*)b;
}

int main()
{
    int n;
    int arr[200];
    int tall[200]={0};
    scanf("%d",&n);
    int i,j,total=1;
    for(i=0;i<n;i++)scanf("%d",&arr[i]);
    qsort(arr,n,sizeof(int),Cmp);
    for(i=0;i<n;i++){
        for(j=0;j<total;j++){
            if(tall[j]<=arr[i]){
                tall[j]++;
                break;
            }
        }
        if(j==total){
            tall[total++]=1;
        }
    }
    printf("%d\n",total);
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
int n,box[110];
int lim[110];
int comp(const void *a, const void *b)
{
	return *(int*)b - *(int*)a;
}
int min(int a,int b)
{
	return a<b?a:b;
}
short check(int tot)
{
	int i,j;
	for(i=1;i<=tot;i++) lim[i] = 1000;
	for(i=j=1;i<=n;i++)
	{
		if(!lim[j]) return 0;
		lim[j] = min(lim[j]-1,box[i]);
		j = (j==tot?1:j+1);
	}
	return 1;
}
int work()
{
	int head = 1,tail = n,mid;
	while(head<tail)
	{
		mid = (head+tail)>>1;
		if(check(mid)) tail = mid;
		else head = mid+1;
	}
	return head;
}
int main()
{
	int i;
	scanf("%d",&n);
	for(i=1;i<=n;i++) scanf("%d",&box[i]);
	qsort(box+1,n,sizeof(int),comp);
	printf("%d",work());
	return 0;
}


#include<stdio.h>
int main (){
    int n,a,b,c,sum,t;
    char home;
    sum=0;
    scanf("%d%d%d%d",&n,&a,&b,&c);
    t=n-1;
    home='r';
    while(t--){
        if(home=='r'){
            if(a>b){
                sum+=b;
                home='e';
            }
            else{
                sum+=a;
                home='o';
            }
        }
        else if(home=='o'){
            if(a>c){
                sum+=c;
                home='e';
            }
            else{
                sum+=a;
                home='r';
            }
        }
        else if(home=='e'){
            if(c>b){
                sum+=b;
                home='r';
            }
            else{
                sum+=c;
                home='o';
            }
        }
    }
    printf("%d",sum);
}


#include<stdio.h>

int main(){

int n,k,t;

scanf("%d%d%d",&n,&k,&t);
int ans;

if(t<=k){

ans=t;

}

if(t>k&&t<=n){

ans=k;

}

if(t>n&&t<=n+k){

ans=n+k-t;

}

if(t>n+k){

ans=0;

}

printf("%d",ans);

return 0;

}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, k, t;
    scanf("%d%d%d", &n, &k, &t);

    int res = (t < n ? t : n);
    if (t > k) {
        res -= t - k;
    }

    printf("%d\n", res);
    return 0;
}


#include <stdio.h>
int main()
{
    long long int  n, count = 1;
    while(scanf("%lld", &n) != EOF)
    {
        if(n >= 10)
        {
            n = n + 1;
        count++;
        while(n >= 10)
        {
            while(n % 10 != 0)
            {
                n = n + 1;
                if(n < 10)
                {
                    count--;
                    break;
                }
                count++;
            }
            while(n % 10 == 0)
            {
                n = n / 10;
                if(n < 10)
                {
                    count--;
                    break;
                }
            }
        }
        count = count + 9;
        printf("%lld\n", count);
        }
        else
        {
            count = 9;
            printf("%lld\n", count);
        }

        count = 1;
    }
}


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int lt(int i){
    int k,s=1;
    for (k=1;k<=i;k++)
        s=s*10;
    return s;
}
int f(int x){
	int f,i=0,y=x+1;
	while (y%lt(i)==0){
		i++;
	}
	f=y/lt(i-1);
	return f;
}
int main() {
	int a[1000],count=1,kq,x,i=0,j,kt=1;
	scanf("%d",&x);
	kq=x;
	if (x==10) count=19;
	else if (x<10) count=9;
	else{
	while (kq>10){
		kq=f(kq);
		a[i]=kq;
		for (j=0;j<i;j++){
			if (a[i]==a[j]){
				kt=0;
				break;
			}
		}
		if (kt==1) count++;
		i++;
	}
	count+=8;
	}
	printf("%d",count);
	return 0;
}


#include<stdio.h>
#include<stdlib.h>

int cmpfunc (const void * a, const void * b)
{
   return ( *(int*)a - *(int*)b );
}

int main() {

    int n,arr[100];
     int i,d,privd=0,count=0,flag=0;
    scanf("%d",&n);
    for(i=0; i<n; i++) {
        scanf("%d",&arr[i]);
    }
    qsort(arr,n,sizeof(int),cmpfunc);

    for(i=0;i<n-1 ; i++){
        if(arr[i]==arr[i+1])count++;
    }
    if(count==n-1){
        printf("0\n");
        return 0;
    }
    count=0;
    for(i=0; i<=100 ; i++) {
        privd=abs(i-arr[0]);
        count=0;
        for(int j=0; j<n; j++) {
            d=abs(i-arr[j]);
            //printf("%d (%d) (%d)\n",d,i,j);
            if(d==0 || privd==d)
                count++;
            else
                break;

        }
        if(count==n) {
            flag=1;
            break;
        }
    }
    for(int j=0;j< n; n++){
         privd=abs(i-arr[j]);
         if(privd)break;
    }
    if(flag)printf("%d",privd);
    else printf("-1");

    return 0;
}


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
#include <ctype.h>

#define lli long long int
#define MIN(X,Y) ((X<Y)?(X):(Y))

int main()
{
    int n;
    scanf("%d",&n);

    int r = 1;
    while (r * 5 < n)
    {
        n -= r * 5;
        r *= 2;
    }

    char names[5][10]= {{'S','h','e','l','d','o','n'},{ 'L','e','o','n','a','r','d',},{ 'P','e','n','n','y'},{ 'R','a','j','e','s','h'},{ 'H','o','w','a','r','d'}};
    printf("%s\n",names[(n - 1) / r]);

    return 0;
}


#include<stdio.h>
int main(){
    int a,b=0;
    scanf("%d",&a);
    while(a > 5){
        a = a/2;
        a -= 2;
    }
    if(a == 1) {
        printf("Sheldon\n");
    }else if(a == 2) {
        printf("Leonard\n");
    }else if(a == 3){
        printf("Penny\n");
    }else if(a == 4) {
        printf("Rajesh\n");
    }else if(a == 5) {
        printf("Howard");
    }
    return 0;
    }


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,y,k;
    while((k=scanf("%d",&x))==1){
    if(x==0)
     printf("O-|-OOOO\n");
     else {
    while(x>0)
    {
        y=x%10;
        x=x/10;

        switch(y)
        {
        case 0 :
            printf("O-|-OOOO\n");
            break;
        case 1 :
                printf("O-|O-OOO\n");
                break;
        case 2 :
                    printf("O-|OO-OO\n");
                    break;
        case 3:
                    printf("O-|OOO-O\n");
                    break;
        case 4 : printf("O-|OOOO-\n");
        break;
        case 5 : printf("-O|-OOOO\n");
        break;
        case 6 : printf("-O|O-OOO\n");
        break;
        case 7 :
                printf("-O|OO-OO\n");
                break;
        case 8 :printf("-O|OOO-O\n");
        break;
        case 9 :
            printf("-O|OOOO-\n");
            break;
        }
   }

    }
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n , i = 0 , j , a[5000] , k ;
    scanf("%d" , &n);
    do {
        a[i] = n %10 ;
        n /= 10 ;
        i ++ ;
    }
    while (n != 0) ;
    for (j = 0 ; j < i ; j++){
        if (a[j] == 5){
            printf("-O|-OOOO\n");
            continue ;
        }
        if (a[j] < 5){
            printf("O-|");
            for (k = 0 ; k < 5 ; k++){
                    if (k == a[j]){
                    printf("-");
                    continue ;
                }
                printf("O");
            }
            printf("\n");
        }
        if (a[j] > 5){
            printf("-O|");
            a[j] -= 5 ;
            for (k = 0 ; k < 5 ; k++){
                    if (k == a[j]){
                    printf("-");
                    continue ;
                }
                printf("O");
            }
            printf("\n");
        }
        }
    return 0;
}


#include <stdio.h>

void fafa(int n){
	int dem=0;
	for(int i=1;i<n;i++){
		if(n%i==0){
			dem++;
		}
	}
	printf("%d",dem);
}
int main(){
	int n;
	scanf("%d",&n);
	fafa(n);
}


#include<stdio.h>
int main()
{
    int n,i;
    int m=0;
    scanf("%d",&n);
    for(i = 1;i < n;i++)
    {
        if(n%i==0)
        m++;
    }
    printf("%d\n",m);
    return 0;

}


#include <stdio.h>
#include <stdlib.h>
int comp (const void * elem1, const void * elem2)
{
    int f = *((int*)elem1);
    int s = *((int*)elem2);
    if (f > s) return  1;
    if (f < s) return -1;
    return 0;
}
int main()
{
    int n,d;
    scanf("%d %d",&n,&d);
    int points[n];
    for(int i=0; i<n; i++)
    {
        scanf("%d",&points[i]);
    }
    qsort (points, sizeof(points)/sizeof(*points), sizeof(*points), comp);
    int c1=0,c2=0;
    for(int i=0; i<n; i++)
    {
        c1=0;
        for(int j=i; j<n; j++)
        {
            if(points[j]-points[i]<=d)
                c1++;
            else
                break;
        }
        if(c1>c2)
            c2=c1;
    }
        printf("%d",n-c2);

    return 0;
}


#include<stdio.h>
#include <math.h>
int main()
{
    int n,d;
    scanf("%d %d",&n,&d);
    int a[n];
    for(int i = 0; i<n;i++)
        scanf("%d",&a[i]);
    int b[n];int s = 0 ;
    for(int i = 0; i <n;i++)
        b[i] = -1 ;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < (n - i - 1); j++)
        {
            if (a[j] > a[j + 1])
            {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
    if(a[n-1]-a[0]<=d)
        printf("%d",0);
    else
    {
        int w = 0, e = n-1 ;
        int p = 0, q = 0;
        for(; ;)
        {   if(w>=n)
                break;
            if(e<0)
                break;
            int x = a[w];
            int y = a[e];
            p = 0; q = 0 ;
            //printf("\nx = %d  y = %d\n",x,y);
            for(int j= w;j<=e;j++)
            {
                if(abs(x-a[j])>d)
                    p++;
                if(abs(y-a[j])>d)
                    q++;
            }
            //printf("\np = %d q = %d\n",p,q);
            if(p==0&&q==0)
                break;
            if(p>q)
            {
                b[s]=x;
                w = w+1;
                s++;
            }
            else
            {
                b[s]=y;
                e = e-1;
                s++;
            }
        }
        //printf("array b\n");
        //for(int i = 0;i<n;i++)
            //printf("%d ",b[i]);
        int m = 0;
        for(int i = 0 ; i<n;i++)
        {
            if(b[i]==-1)
                continue;
            else
                m++;
        }
    //printf("\nn = %d m = %d\n",n,m);
    printf("%d",m);
    }
}


// http://codeforces.com/contest/527/problem/A
#include <stdio.h>

int main() {
	long long int a, b, t, n = 0;
	scanf("%lld %lld", &a, &b);
	while (b != 0) {
		n += a / b;
		t = a;
		a = b;
		b = t % b;
	}
	printf("%lld\n", n);

	return 0;
}


#include <stdio.h>
typedef unsigned long long int intt;
int main()
{
    intt a,b;
    scanf("%llu %llu",&a,&b);
    intt num2;
    num2=a/b;
    if (num2==0)
    {
        printf("0");
        return 0;
    }
    else
    {
        a=a%b;
        while(a!=0)
        {
            num2+=b/a;
            b=b%a;
            intt c;
            c=b;
            b=a;
            a=c;
        }
    }
    printf("%llu",num2);
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,m,flag=0;
    scanf("%d%d",&m,&n);
    while(n%m==0&&n>m)
    {
        flag++;
        n/=m;
    }
    if(m!=n)
        printf("NO");
    else
        printf("YES\n%d",flag);
    return 0;
}


#include<stdio.h>
main()
{
 int a,b,c,cnt=0;
 scanf("%d%d",&a,&b);
 c=a;
 if(b%a==0)
 {
     while(b!=c)
     {
         if(b%c==0)
         {
             c=c*a;
             cnt++;
         }
         else
         {(printf("NO")); exit(0);}
     }
 }
 else
 {
     printf("NO");
     exit(0);
 }
 printf("YES\n%d",cnt);
 return 0;
}


#include<stdio.h>
#include<string.h>
int main()
{char s1[100];
char s2[100];
scanf("%s",&s1);
scanf("%s",&s2);
int a,b,c,j,d,l,i;
l=strlen(s1);
c=0;
d=0;
i=0;
 while(i<l){
     j=0;
     a=s1[i];
     b=s2[i];
     if(a<=90)
     a=a+32;
     if(b<=90)
     b=b+32;
     if(a>b){
         printf("1");
         j=1;
         break;
     }
     else if(b>a){
         printf("-1");
         j=1;
         break;
     }
     else
     i++;
}
if(j==0)
     printf("0");

return 0;
}


//
//  main.c
//  Task
//

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

void swap(void *a, void *b, size_t size) {
    char *temp = (char*)malloc(size);
    memcpy(temp, a, size);
    memcpy(a, b, size);
    memcpy(b, temp, size);
}

void reverse_array(char *arr, int l, int r) {
    while(l <= r) {
        swap(&arr[l], &arr[r], sizeof(char));
        l++;
        r--;
    }
}

int main(int argc, const char * argv[]) {

    int len;
    scanf("%d", &len);
    len++;
    char *str = (char*)malloc(sizeof(char) * len);
    for(int i = 0; i < len; ++i) {
        scanf("%c", &str[i]);
    }

    for(int i = 1; i < len; ++i) {
        (len - 1) % i == 0 ? reverse_array(str, 1, i) : "Magneet";
    }

    for(int i = 1; i < len; ++i) {
        printf("%c", str[i]);
    }
    free(str);

    return 0;
}


#include<stdio.h>
int n;
char a[107];
void cat(int i){
	int j;
	char t;
	for(j=0;j+j<i;j++){
		t=a[j];
		a[j]=a[i-j];
		a[i-j]=t;
	}
}
void run(){
	int i;
	while(scanf("%d",&n)!=EOF){
		scanf("%s",a);
		for(i=1;i<=n;i++){
			if(n%i==0){
				cat(i-1);
			}
		}
		printf("%s\n",a);
	}
}
main(){
#ifndef	ONLINE_JUDGE
	freopen("4903b_min.in","rb",stdin);
	freopen("4903b_.out","wb",stdout);
#endif
	run();
	return 0;
}


#include<stdio.h>
int main()
{
    int n,m,a,b,i;

    scanf("%d %d",&n,&m);

    a = (n*(n+1))/2;

    b = m % a;

    for(i=1;i<=n;i++)
    {
        if(b>=i)
            {
                b = b - i;
            }
        else
        {
         printf("%d",b);
         break;
        }
    }

    return 0;
}


#include <stdio.h>

int main() {
    int chipsOneCircle=0;
    int n = 0, m = 0, have_chips = 1, i = 0;
    if((scanf("%d %d", &n, &m))==2){
    chipsOneCircle = (n * (n + 1)) / 2;
    int x = m / chipsOneCircle;
    m = m - x*chipsOneCircle;
    while (have_chips == 1) {
        for (i = 1; i < n + 1; i++) {
            if (i > m) {
                have_chips = 0;
                break;
            }
            m = m - i;
        }

    }
    printf("%d\n", m);
	}
    return 0;
}


#include <stdio.h>

main()
{
    int A, B, a1, b1, a2, b2;

    scanf("%d %d %d %d %d %d", &A, &B, &a1, &b1, &a2, &b2);

    if(a1+a2 <= A &&b1 <= B && b2 <= B)
        printf("YES");

    else if(a1+a2 <= B && b1 <= A && b2 <= A)
        printf("YES");

    else if(a1+b2 <= A && b1 <= B && a2 <= B)
        printf("YES");

    else if(a1+b2 <= B && b1 <= A && a2 <= A)
        printf("YES");

    else if(b1+a2 <= A && a1 <= B && b2 <= B)
        printf("YES");

    else if(b1+a2 <= B && a1 <= A && b2 <= A)
        printf("YES");

    else if(b1+b2 <= A && a1 <= B && a2 <= B)
        printf("YES");

    else if(b1+b2 <= B && a1 <= A && a2 <= A)
        printf("YES");

    else printf("NO");

    return 0;

}


#include<stdio.h>
int main()
{
    long long int n,s=1;
    scanf("%lld",&n);
    s=s+(n*(n+1)*3);
    printf("%lld\n",s);
    return 0;
}


#include <stdio.h>
int main(){
	long long n;
	scanf("%lld",&n);
	printf("%lld\n",3*n*(n+1)+1);
	return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int b, g, n;
    int count = 0;
    int min, max;
    int i;

    scanf("%d%d%d", &b, &g, &n);

    if(b > g)
    {
        min = g;
        max = b;
    }
    else
    {
        min = b;
        max = g;
    }
    //
    for(i = 0; i < max+1 ; i++)
    {
        if((n-i) > -1 && (n-i) < min+1)
            count++;
    }

    if(n < b && n < g)
        count = n+1;

    printf("%d", count);
    return 0;
}


    #include <stdio.h>
    int main()
    {
        int b,g,n,min,x,y;
        scanf("%d",&b);
        scanf("%d",&g);
        scanf("%d",&n);
        if(n<=g && n<=b)
        min=n;
        else
        {
            if(b<=g)
            {
                x=b;
                y=g-(n-b);
                if(x<y)
                min=x;
                else
                min=y;
            }
            else
            {
                x=g;
                y=b-(n-g);
                if(x<y)
                min=x;
                else
                min=y;
            }
        }
        printf("%d\n",min+1);
        return 0;
    }


#include <stdio.h>
#include <string.h>

int main ()
{
    int i, len, sum = 0;
    char str[1000000];

    scanf("%s", str);

    len = strlen(str);

    i = 0;

    while(str[i] != '1')
        i++;

    for( ; i < len; i++)
    {

        if(str[i] == '0')
            sum++;
    }

    //printf("%d", i);

    if(sum >= 6)
        printf("yes");

    else printf("no");

    return 0;
}


#include <ctype.h>
#include <stdio.h>
#include <string.h>

int main() {
	static char s[128];
	int l, i, a, b, c, d;

	scanf("%s", s);
	l = strlen(s);
	a = b = c = d = 0;
	a = l >= 5;
	for (i = 0; i < l; i++) {
		b |= isupper(s[i]);
		c |= islower(s[i]);
		d |= isdigit(s[i]);
	}
	printf("%s\n", a && b && c && d ? "Correct" : "Too weak");
	return 0;
}


#include<stdio.h>
#include<string.h>

int main(){
	char a[101];
	int angka = 0, upper = 0, lower = 0, digit = 0;
	scanf("%s", a);

	int length = strlen(a);
	for(int i = 0; i < length; i++){
		if(a[i] >= 'A' && a[i] <= 'Z') upper++;
		else if(a[i] >= 'a' && a[i] <= 'z') lower++;
		else if(a[i] >= '0' && a[i] <= '9') digit++;
	}
	if(length >= 5 && upper >= 1 && lower >= 1 && digit >= 1) printf("Correct");
	else printf("Too weak");

	return 0;
}


#include <stdio.h>
int main()
{
	int n,k;
	scanf("%d%d",&n,&k);
	int i,a[n];
	int sum=0;
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
	}
	int count=0;
	while(1)
	{
		int ans;
		if((((float)sum)/((float)(n+count))-sum/(n+count))<0.5)
		{
			ans=sum/(n+count);
		}
		else
		{
			ans=sum/(n+count)+1;
		}
		if(ans==k)
		{
			printf("%d\n",count);
			break;
		}
		else
		{
			sum+=k;
			count++;
		}
	}
	return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,i;
    double sum = 0;
    scanf("%d %d",&n,&k);
    for(i=0;i<n;i++)
    {
        int j;
        scanf("%d",&j);
        sum += j;
    }
    int ans = (int)(((k-0.5)*n-sum)*2);
    printf("%d\n",ans > 0 ? ans :0);
    return 0;
}


#include<stdio.h>

void func(int a, int b, int c,char h)
{
	if(b==0 && c==0) printf("%c",h);
	else if(a==0 && b!=0 && c!=0) printf("%c",h);
	else if(a!=0 && b!=0 && c!=0) printf("%c",h);
	else if(a!=0 && b==0 && c!=0 && c!=1) printf("%c",h);
	else if(a!=0 && b!=0 && c==0 && b!=1) printf("%c",h);
	else return;
}

int main()
{
	int n,r=0,b=0,g=0,i;
	char R='R';
	char B='B';
	char G='G';
	scanf("%d",&n);
	char card[n+1];
	for(i=0;i<=n;i++)
	{
		scanf("%c",&card[i]);
		if(card[i]=='R') ++r;
		if(card[i]=='B') ++b;
		if(card[i]=='G') ++g;
	}
//	printf("%d",g);
	func(b,r,g,B);
	func(g,b,r,G);
	func(r,g,b,R);
	return 0;
}


#include<stdio.h>
int gcd(int x,int y)
{
	int hcf=1;
	while(hcf!=0)
	{
		hcf=x%y;
		x=y;
		y=hcf;
	}
	return x;
}
int main()
{
	int n,a,b;
	scanf("%d",&n);
	a=n/2-1;
	b=n/2+1;
	if(n%2==0)
	{
		while((gcd(b,a))!=1)
		{
			a--;
			b++;
		}
		printf("%d %d",a,b);
	}
	else
	{
		while((gcd(b,a+1))!=1)
		{
			a--;
			b++;
		}
		printf("%d %d",a+1,b);
	}
}


#include <stdio.h>
#include <string.h>
int main()
{
    int length,i,j;
    char x[100];
    scanf("%s",x);
    length=strlen(x);
    if(length==1) {
        printf("%s",x);
        return 0;
    }
    for(i=0;i<length;i++) {
        j=i;
        if(x[i]=='/') {
            continue;
        }
        else {
            break;
        }
    }
    if(x[j]=='/') {
        printf("/");
        return 0;
    }
    for(i=0;i<length;i++) {
        if(x[i]=='/') {
            for(i=i+1;i<length;i++) {
                if(x[i]=='/') {
                    continue;
                }
                else {
                    printf("/");
                    i--;
                    break;
                }
            }
            }
            else {
                printf("%c",x[i]);
            }
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char *a[] = {"vaporeon", "jolteon", "flareon", "espeon", "umbreon", "leafeon", "glaceon", "sylveon"};
    char s[10];
    int l, n, i, j;
    scanf("%d %s", &n, s);
    int *b = (int*)calloc(8,sizeof(int));
    int mx = 0;
    for(i=0; i<8; i++)
    {
        l = strlen(a[i]);
        if(n!=l)
            continue;
        for(j=0; j<n; j++)
            if(s[j]==a[i][j])
                b[i]++;
        if(mx<b[i])
            mx = b[i];
    }
    for(i=0; i<8; i++)
    {
        if(b[i]==mx && strlen(a[i])==n)
        {
            puts(a[i]);
            break;
        }
    }
	return 0;
}


#include<stdio.h>
int main()
{
 char *eeve[] = {"jolteon", "flareon", "umbreon", "leafeon", "glaceon", "sylveon", "vaporeon", "espeon"};
 char str[9];
 int count[6] = {0},i,j,n,large,index;
 scanf("%i" , &n);
 scanf("%s" , str);

 if(n==8)
  puts(eeve[6]);
 else if(n==6)
  puts(eeve[7]);

 else{
      for(i=0; i<7 ; i++)
         if(str[i] != '.')
            for(j=0 ; j<6 ; j++)
              if(str[i] == eeve[j][i])
                 count[j]++;
       for(i=0,large=0,index=0; i<6 ; i++)
          if(count[i] > large)
             {
              large = count[i];
              index = i;
             }
       puts(eeve[index]);
     }
 return 0;
}


#include<stdio.h>
#include<string.h>
int main()
{
   int l1,l2,i,cnt=0,j;
    char s1[105],s2[105];
    scanf("%s%s",s1,s2);
    l1=strlen(s1);
    l2=strlen(s2);
    for(i=0,j=l2-1;i<l1,j>=0; i++,j--)
    {
        if(s1[i]==s2[j])
        {
            cnt++;
        }
    }
    if(cnt==l1)
    {
        printf("YES\n");
    }
    else
    {
        printf("NO\n");
    }
    return 0;
}


#include <stdio.h>
#include<string.h>
int main() {
    int i,j,ctr=0,len1,len2;
    char s[1001],t[1001];
    scanf("%s",&s);
    scanf("%s",&t);
    len1=strlen(s);
    len2=strlen(t);
   for(i=len1-1,j=0;i>=0&&j<len2;j++,i--)

    {
        if(s[i]==t[j])
        {
            ctr++;
        }
    }
    if(ctr==len1)
    {
        printf("YES\n");
    }
    else
    {
        printf("NO\n");
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Node
{
  char val;
  struct Node *child;
  struct Node *next;
};

void tree(struct Node *root, char str[])
{
  int i;
  int length = strlen(str);

  if(length == 0)
    return;

  if(root->child == NULL)
    {
      root->child = (struct Node *)malloc(sizeof(struct Node));
      root->child->child = NULL;
      root->child->next = NULL;

      root->child->val = str[0];

      tree(root->child, &str[1]);
    }
  else
    {
      struct Node *prev = NULL;
      struct Node *cur = root->child;
      while(cur != NULL)
        {
          if(cur->val == str[0])
            break;
          else
            {
              prev = cur;
              cur = cur->next;
            }
        }

      if(cur != NULL)
        tree(cur, &str[1]);
      else
        {
          prev->next = (struct Node *)malloc(sizeof(struct Node));

          prev->next->child = NULL;
          prev->next->next = NULL;

          prev->next->val = str[0];

          tree(prev->next, &str[1]);
        }

    }

}

int countLeaves(struct Node *root)
{
  if(root->child == NULL)
    return 1;
  else
    {
      int cnt = 0;
      struct Node *cur = root->child;
      while(cur != NULL)
        {
          cnt += countLeaves(cur);
          cur = cur->next;
        }

      return cnt;
    }

}

int main(int argc, char *argv[])
{
  char str[52];

  scanf("%s", str);

  int len = strlen(str);

  int i, j, k;
  struct Node *root = (struct Node *)malloc(sizeof(struct Node));
  root->child = NULL;
  root->next = NULL;

  for(i = 0; i < len; i++)
    {
      char cur[52];
      k = 0;
      for(j = len-i; j < len; j++)
        cur[k++] = str[j];

      for(j = 0; j < len-i; j++)
        cur[k++] = str[j];

      cur[len] = '\0';

      tree(root, cur);
    }

  printf("%d\n",countLeaves(root));

}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char a[60],b[60],c;
    int i,j,cnt;
    while(~scanf("%s",a))
    {
        int len=strlen(a);
        strcpy(b,a);
        cnt=0;
        for(j=0;j<len;j++)
        {
            c=b[0];
            for(i=0; i<len; i++)
                b[i]=b[i+1];
            b[len-1]=c;
            if(strcmp(a,b)==0)
                break;
            cnt++;
        }
        printf("%d\n",cnt+1);
    }
    return 0;
}


#include <stdio.h>

int main()
{
    int n;
    scanf("%d",&n);
    int n2 = n+1;
    int ans = 0;
    for(;n2 > 0;n2 -= 1234567)
    {
        int n3 = n2;
        for(;n3 > 0;n3 -= 123456)
        {
            if(n3 % 1234 == 1)
            {
                ans = 1;
                goto mark;
            }
        }
    }
mark:if(ans == 1)
        printf("YES");
     else
        printf("NO");
    return 0;
}


#include<stdio.h>
#include<ctype.h>
char s[9] = {'6','7','8','9','T','J','Q','K','A'};
int chiso(char c)
{
	int i;
	for(i=0;i<=8;i++)
		if(s[i]==c)
			break;
	return i;
}
void check(char s1[],char s2[],char trump)
{
	if(s1[1]==s2[1])
	{
		if(chiso(s1[0])>chiso(s2[0])) printf("YES\n");
		else printf("NO\n");
	}
	else
	if(s1[1]==trump)
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}

}

int main()
{
	char trump;
	char s1[3];
	char s2[3];
	scanf("%c\n",&trump);
	scanf("%s %s",s1,s2);
	check(s1,s2,trump);
	return 0;
}


#include <stdio.h>
#include <string.h>

char Base[9]="6789TJQKA";
char A[3],B[3];
char T;

int Judge()
{
    int i,j;
    for(i=0; Base[i]!=A[0]; ++i);
    for(j=0; Base[j]!=B[0]; ++j);
    if(A[1]==B[1]&&i>j)
    {
        return 1;
    }
    return 0;
}

int main()
{
    scanf("%c %s %s",&T,A,B);
    if((A[1]==T&&B[1]!=T)||Judge())
    {
        puts("YES");
        return 0;
    }
    puts("NO");
    return 0;
}


#include<stdio.h>

int main()
{
    char ch[101],mh[101];
    scanf("%s",ch);
    scanf("%s",mh);
    int i;
    for(i=0;i<strlen(ch);i++)
    {
        if(ch[i]==mh[i])
            ch[i]='0';
        else
            ch[i]='1';
    }
    printf("%s",ch);
    return 0;
}


//https://codeforces.com/problemset/problem/61/A
#include <stdio.h>
#include <string.h>

int main()
{
    char str1[101];
    char str2[101];
    scanf("%s%s", str1, str2);
    for(int i=0; i<strlen(str1); i++){
        if(str1[i] != str2[i])
            printf("1");
        else
            printf("0");
    }
    return 0;
}


#include<stdio.h>
int main()
{
    int n,a,x,b,y;
    scanf("%d%d%d%d%d",&n,&a,&x,&b,&y);
    int t=1;
    while(a!=b){
    a++,b--;
    if(b==0)
        b=n;
    if(a==n+1)
        a=1;
    if((a==x||b==y)&&a!=b){
            t=0;
            break;
            }
    }
    if(t)
        printf("YES");
    else
        printf("NO");

}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <limits.h>

void test() {
    int n, a, x, b, y;
    scanf("%d %d %d %d %d", &n, &a, &x, &b, &y);

    for( ; a != x && b != y; a = a % n + 1, b--) {
        if(a == b) {
            printf("YES\n");
            return;
        }
        if(b == 1) {
            b = n + 1;
        }
    }
    if(a == b) {
        printf("YES\n");
    }
    else {
        printf("NO\n");
    }
}

int main ()
{
    // int t;
    // scanf("%d", &t);
    // while(t--)
        test();
    return 0;
}


#include <stdio.h>

int	palindromo(int num){
	int c=0;
	while (num%10==0){
		num=num/10;
	}
	int b=num;
	while(num>0){
		c=c*10+num%10;
		num=num/10;
	}
	if(c==b) return 1;
	else	return 0;
}

void main(){
	int x;
	scanf("%d",&x);
	if(palindromo(x))
		printf("YES\n");
	else
		printf("NO\n");
}


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
    char a[10];
    scanf("%s",a);
    int n = strlen(a);
    int i = 0;
    int j = n - 1;
    while(i < n && a[i] == '0')
        i++;
    while(j >= 0 && a[j] == '0')
        j--;

    while(i < j){
        if(a[i] != a[j]){
            printf("NO\n");
            return 0;
        }

        i++;
        j--;
    }
    printf("YES\n");
}


#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d%d", &a, &b);
    printf("%d",a+b);

}


#include<stdio.h>

int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d\n", a+b);

    return 0;
}


#include <stdio.h>
#include <string.h>
#include <time.h>

int main() {

	char string[101];
	char *patrn = "hello";
	int len = strlen(patrn);
	int i; int j = -1;
	int hash = 0;

	scanf("%101[^\n]", string);
	int st_len = strlen(string);

	for ( i = 0; i < len; i++)	{
			j += 1 ;
			while ( j < st_len) {
						if (patrn[i] == string[j]) {
								hash += 1;
								break;
						}
  					j++;
			}

	}

	if (hash == 5) { printf("YES\n");}
	else { printf("NO\n");}
	return 0;
}


#include<stdio.h>
int main()
{
	int r, c;
	scanf("%d%d", &r, &c);
	int i, j, k;
	char mat[r][c];
	for(i=0; i<r; i++)
	{
		for(j=0; j<c; j++)
			scanf(" %c", &mat[i][j]);
	}
	int count = 0;
	for(i=0; i<r; i++)
	{
		for(j=0; j<c; j++)
		{
			if(mat[i][j] == 'S')
			{
				count -= j;
				for(k=0; k<j; k++)
				 	mat[i][k] = '.';
				break;
			}
			else
			{
				mat[i][j] = '*';
				count = count+1;
			}
		}
	}

	for(i=0; i<c; i++)
	{
		int ct = 0;
		for(j=0; j<r; j++)
		{
			if(mat[j][i] == 'S')
			{
				count = count-(j)+ct;
				break;
			}
			if(mat[j][i] == '*')
			{
				ct++;
			}
			else
				count++;
		}
	}
	printf("%d\n", count);
	return 0;
}


#include <stdio.h>
#include <stdlib.h>

/*Lazy Security Guard*/
int main()
{
    int input_num, perimeter,temp,count = 0;
    scanf("%d",&input_num);
    temp = input_num;
    if(input_num == 1)
    {
        perimeter = 4;
    }
    else if(input_num <= 0)
    {
        perimeter = 0;
    }
    else
    {
        while(input_num >= (count * count))
        {
            count++;
        }
        count--;
        /*
        while(count != temp)
        {
            count++;
            temp = input_num / count;
        }
        */
        /*
        while(temp != 1)
        {
            temp /= 2;
            count++;
        }
        */
        perimeter = count * 4;
        temp = input_num - (count*count);
        while(temp > 0)
        {
            temp = temp - count;
            perimeter = perimeter + 2;
        }
    }
    printf("%d", perimeter);
    return 0;
}


#include <stdio.h>

int minperi(int a)
{
	for(int i=1;;i++)
	{
		if(i*(i-1)>=a)
			return 4*i-2;
		else if(i*i>=a)
			return 4*i;
	}
}

int main()
{
	int n;
	scanf("%d",&n);
	printf("%d",minperi(n));
}


#include<stdio.h>
int main()
{
  long long a , b , c , d ;
  scanf("%lld%lld%lld",&a,&b,&c) ;

    if(a<b)
      {
          d=b ;
          b=a ;
          a=d ;
                        }

   d = 2*(b+c)+(a!=b) ;
   printf("%lld",d);

}


#include<stdio.h>
int main()
{
long long a, b, ab, stlen;
scanf("%lld %lld %lld", &a, &b, &ab);
a=a+ab;
b=b+ab;
if(a>b)
{stlen=(2*b)+1;}
else if(b>a)
{stlen=(2*a)+1;}
else if(a==b)
{stlen=(2*a);}
printf("%lld\n", stlen);
return 0;
}


#include <stdio.h>

int main() {

    int n,b,p;
    int y,x;
    scanf("%d %d %d",&n,&b,&p);
    y = n*p;
    x = (n-1) * (b * 2 + 1);

    printf("%d %d",x,y);
    return 0;
}


#include<stdio.h>
int main()
{
    int n,b,p;
    scanf("%d %d %d",&n,&b,&p);
    printf("%d %d",((n-1)*2*b)+(n-1),n*p);
    return 0;
}


#include<stdio.h>
#include<string.h>
int main()
{
    char a[100];
    gets(a);
    int l=0,temp;
    l=strlen(a);
    for(int i=0;i<l;i=i+2){
        for(int j=i+2;j<l;j=j+2){
            if(a[i]>a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
    for(int i=0;i<l;i++)
    printf("%c",a[i]);
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

#define MAX_N (100)

int main() {
  int cs[2];
  int xs[MAX_N];
  int i,j,n,k,acc;

  scanf("%d %d", &n, &k);
  for ( i=0; i < n; ++i )
    scanf("%d", xs+i);
  for ( j=acc=0; j < k; ++j ) {
    cs[0] = cs[1] = 0;
    for ( i=0; i < n/k; ++i )
      cs[xs[i*k+j]-1] += 1;
    acc += (cs[0] > cs[1] ? cs[1] : cs[0]);
  }
  printf("%d\n", acc);
  return EXIT_SUCCESS;
}


#include<stdio.h>
int main()
{
	long long int a,b,ans=0,temp;
	scanf("%lld%lld",&a,&b);
	while(b!=1)
	{
		if(a>b)
		{
			temp=a/b;
			ans+=temp;
			a=a-temp*b;
		}
		if(b>a)
		{
			temp=b/a;
			ans+=temp;
			b=b-(temp*a);
			if(b==0)
			{
				a=0;
				break;
			}
		}
	}
	ans += a;
	printf("%lld\n",ans);
	return 0;
}


#include<stdio.h>
int main()
{
     long long int a, b;
     scanf("%lld %lld",&a,&b);
     long long int s=0;
     while(a>0&&b>0)
     {
        if(a>b)
        {
          s=s+a/b;
          a%=b;
        }
        else
        {
             s=s+b/a;
             b%=a;
        }
     }
     printf("%lld",s);
     return 0;
}


#include <stdio.h>
#include <string.h>

int main() {
	int test;
	char inp[11];
	int inp2[11];
	scanf ("%d\n",&test);
	gets(inp);
	memset (inp2, 0, sizeof(inp2));
	int x, check=1;
	for (x=0;x<test;x++){
		int lala = inp[x]-'0';
		inp2[lala]++;

	}

	if (!(inp2[1]>0||inp2[4]>0||inp2[7]>0||inp2[0]>0)) {
		printf ("NO\n");
	}
	else if (!(inp2[3]>0||inp2[6]>0||inp2[9]>0||inp2[0]>0)) {
		printf("NO\n");
	}
	else if (!(inp2[1] > 0 || inp2[2]>0 || inp2[3]>0)) {
		printf("NO\n");
	}
	else if (!(inp2[7] >0 || inp2[0] >0 ||inp2[9]>0)) {
		printf("NO\n");
	}
	else {
		printf("YES\n");
	}
}


#include<stdio.h>

static int map[10];

int main()
{
    int n;
    scanf("%d", &n);
    getchar();

    while(n--)
    {
        char c;
        c = getchar();

        map[ c - '0' ] = 1;
    }

    int flag = 0;

    if( !(map[1] || map[4] || map[7] || map[0]) ) flag = 1;
    else if( !(map[3] || map[6] || map[9] || map[0]) ) flag = 1;
    else if ( !(map[1]||map[2]||map[3]) ) flag = 1;
    else if(!(map[7] || map[9] || map[0])) flag = 1;
    else if( !(map[1]||map[2]||map[3]||map[4]||
               map[7]) ) flag = 1;
    else if( !(map[1]||map[2]||map[3]||map[6]||
               map[9]) ) flag = 1;
    else if( !(map[1]||map[4]||map[7]||map[8]||
               map[0]) ) flag = 1;
    else if( !(map[3]||map[6]||map[9]||map[8]||
               map[0]) ) flag = 1;

    if(flag == 1) printf("NO\n");
    else printf("YES\n");

    return 0;
}


#include <stdio.h>

int max = -1;

void nirv(int *N, int len, int pro, int flag){
	// printf("%d %d %d\n", pro, len, N[len-1]);
	if(len == 0){
		if(pro > max){
			max = pro;
		}
		return;
	}

	if (flag == 1){
		return nirv(N, len -1, pro*9, 1);
	}
	else{
		int c = 0;
		for(int i = N[len - 1];;i--){
			// if(i <= 0){
			// 	nirv(N, len -1, pro, 0);
			// }
			// printf("%%%d %d\n", i, c);
			if(i == 1){
				nirv(N, len-1, pro, 1);
			}
			else if(i == N[len - 1]){
				nirv(N, len - 1, pro*i, 0);
			}
			else{
				nirv(N, len -1, pro*(i), 1);
			}
			if((c)== 1){

				break;
			}

			// printf("%%%d %d\n", i, c);
			c++;
		}
	}
}

int main(){
	int n, i = 0;
	int N[10];
	scanf("%d", &n);
	for(;n;i++){

		N[i] = n%10;
		n = n/10;
	}
	int len = i;
	nirv(N, len, 1, 0);
	printf("%d\n", max);
}


#include<stdio.h>
int main()
{
    int n,m,k;
    scanf("%d%d%d",&n,&m,&k);
    if(n>m||n>k){printf("NO");}
    else{printf("YES");}
}


#include<stdio.h>
int main(){
    int n,p,a;
    scanf("%d%d%d",&n,&p,&a);
    if((p>=n)&&(a>=n))
        { printf("Yes");}
    else
        printf("No");

}


#include<stdio.h>
int main()
{
	int n,m,z,max,ans,lcm;
	scanf("%d%d%d",&n,&m,&z);
	max = (n>m) ? n : m;
	for(lcm=max; ;lcm++)
	{
		if(lcm%n==0&&lcm%m==0)
		{
			break;
		}
	}
	ans=z/lcm;
	printf("%d\n",ans);
	return 0;
}


#include<stdio.h>

main()
{
    char l;
    int n;

    scanf("%c%d",&l,&n);
    if((l=='a' || l=='h') && (n==1 || n==8))
        printf("3");
    else if(l=='a' || l=='h')
        printf("5");
    else if(n==1 || n==8)
        printf("5");
    else printf("8");
    return 0;

}


#include<stdio.h>

int cup(int cup){
	if(cup%5==0) return cup/5;
	else return cup/5+1;
}

int hc(int hc){
	if(hc%10==0) return hc/10;
	else return hc/10+1;
}
int main(){
	int a1,a2,a3,b1,b2,b3,n;
	scanf("%d%d%d%d%d%d%d",&a1,&a2,&a3,&b1,&b2,&b3,&n);
	int c=a1+a2+a3;
	int h=b1+b2+b3;
	if((cup(c)+hc(h))<=n) printf("YES");
	else printf("NO");
}


#include <stdio.h>
#define min(a,b) ((a)>(b)?(b):(a))
int n, pos,cl,cr;
int main() {
    scanf("%d %d %d %d", &n,&pos,&cl,&cr);
    if (cl == 1 && cr == n)printf("0");
    else if (cl == 1)printf("%d", abs(cr - pos) + 1);
    else if (cr == n)printf("%d", abs(pos - cl) + 1);
    else printf("%d", min(abs(pos - cl), abs(pos - cr)) + cr - cl + 2);
}


#include<stdio.h>
int main()
{
	int n,pos,l,r,ans=0;
	scanf("%d%d%d%d",&n,&pos,&l,&r);
	if(l==1 && r==n)
		ans=0;
	else{
		if(pos<=l)
		{
			if(l!=1)
				ans+=l-pos+1;
			if(r<n)
				ans+=r-l+1;
		}
		else if(pos>=r){
			if(r!=n)
				ans+=pos-r+1;
			if(l>1)
				ans+=r-l+1;
		}
		else{
			if(l!=1){
				if((pos-l) < (r - pos)){
					ans+=pos-l+1;
					if(r!=n)
						ans+=r-l+1;
				}
				else{
					if(r!=n){
						ans+=r-pos+1;
						ans+=r-l+1;
					}
					else{
						ans+=pos-l+1;
					}
				}
			}
			else{
				ans+=r-pos+1;
			}
		}
	}
	printf("%d\n",ans );
	return 0;
}


#include <stdio.h>
#include <string.h>

int main(){
    int n;
    char numero[100];
    scanf("%s",numero);
    n=strlen(numero);
    if(n<3 || (n==3 && (strcmp(numero, "127")<=0)))
        printf("byte");
    else if(n<5 || (n==5 && (strcmp(numero, "32767")<=0)))
        printf("short");
        else if (n<10 || (n==10 && (strcmp(numero, "2147483647")<=0)))
            printf("int");
            else if(n<19 || (n==19 && (strcmp(numero, "9223372036854775807")<=0)))
                printf("long");
                else
                    printf("BigInteger");
    return 0;
}


#include<stdio.h>
#include<string.h>
int main()
{
    int k;
    char cadena[105];
    scanf("%s",cadena);
    k=strlen(cadena);
    if(1<=k&&k<=3)
    {
        if(k==3&&strcmp(cadena,"127")>0)
            printf("short\n");
        else
            printf("byte\n");
    }
    else if(k<=5)
    {
        if(k==5&&strcmp(cadena,"32767")>0)
            printf("int\n");
        else
            printf("short\n");
    }
    else if(k<=10)
    {
        if(k==10&&strcmp(cadena,"2147483647")>0)
            printf("long\n");
        else
            printf("int\n");
    }
    else if(k<=19)
    {
        if(k==19&&strcmp(cadena,"9223372036854775807")>0)
            printf("BigInteger\n");
        else
            printf("long\n");
    }
    else
        printf("BigInteger\n");
    return 0;
}


#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int min(int a,int b)
{
	if(a<b)
		return a;
	else
		return b;
}
int cmpfunc(const void* a,const void* b)
{
	return *(int*)a-*(int*)b;
}
int main()
{
	int x,y,p,arr[3],c,ans=0,q;
	scanf("%d %d",&x,&y);
	arr[0]=arr[1]=arr[2]=y;

	while(1)
	{
		qsort(arr,3,sizeof(int),cmpfunc);
		if(arr[0]==x && arr[1]==x && arr[2]==x)
			break;
		p=arr[1]+arr[2]-1;
		q=arr[2]-arr[1]+1;
		if(q<=x && x<=p)
		{
			arr[0]=x;
		}
		else if(x<=q)
		{
			arr[0]=q;
		}
		else
			arr[0]=p;
//		printf("%d %d %d\n",arr[0],arr[1],arr[2]);
		ans++;
	}
	printf("%d\n",ans);
	return 0;
}


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

int main(void) {
	int x,y;
	scanf("%d %d",&x,&y);
	int count=0;
	int ba=y,bb=y,bc=y;
	while(1){
	    if(ba>=x&&bb>=x&&bc>=x){
	        printf("%d",count);
	        break;
	    }
	    count++;
	    if(count%3==1){
	        ba = bb+bc-1;
	    }
	    if(count%3==2){
	        bb = ba+bc-1;
	    }
	    if(count%3==0){
	        bc = bb+ba-1;
	    }
	}
	return 0;
}


#include <stdio.h>
int mark[110][110][110];
int memo[110][110][110];
char A[110];
int n, k;
int max(int a, int b){
	if(a > b) return a;
	return b;
}
int dp(int prev, int pos, int MAX){
	int d1, d2;
	if(pos == n) return MAX == k;
	if(mark[prev][pos][MAX]) return memo[prev][pos][MAX];
	mark[prev][pos][MAX] = 1;
	if(A[pos] == 'Y'){
		return memo[prev][pos][MAX] = dp(0, pos + 1, MAX);
	}else if(A[pos] == 'N'){
		return memo[prev][pos][MAX] = dp(prev + 1, pos + 1, max(MAX, prev + 1));
	}else{
		d1 = dp(0, pos + 1, MAX);
		d2 = dp(prev+1, pos+1, max(MAX, prev+1));
		return memo[prev][pos][MAX] = d1 || d2;
	}

}
int main(){
	scanf("%d %d", &n, &k);
	scanf("%s", A);
	if(dp(0,0,0)) printf("YES\n");
	else printf("NO\n");
	return 0;
}


#include <stdio.h>

int main() {
    int n, k;
    char str[1000];
    scanf("%d %d",&n, &k);
    scanf("%s", str);

    int maxC = 0;
    int tc = 0;
    for (int i = 0; i < n; i++) {
        if (str[i] == 'N') {
            tc++;
            maxC = tc > maxC ? tc : maxC;
        } else {
            tc = 0;
        }
    }

    if (maxC > k) {
        printf("NO");
        return 0;
    }

    for (int i = 0; i < n; i++) {
        int matching = 0;
        for (int j = 0; j < k; j++) {
            if (i + j >= n) {
                break;
            }
            if (str[i + j] == 'Y') {
                break;
            }
            if (str[i + j] == '?' || str[i + j] == 'N') {
                matching += 1;
            }
        }
        if (i - 1 >= 0 && str[i - 1] == 'N') {
            matching -= 1;
        }
        if (i + k < n && str[i + k] == 'N') {
            matching -= 1;
        }
        if (matching == k) {
            // printf("%d\n", i);
            printf("YES");
            return 0;
        }
    }
    printf("NO");
    return 0;
}


#include<stdio.h>
#include <math.h>
int main()
{
int a,b,c=0,d=0,e=0,i;
scanf("%d %d",&a,&b);
if(abs(a-b)%2==0)
d=1;
else
d=0;
if(a==b)
d=6;
for(i=1;i<=6;i++)
{
if(abs(a-i)<abs(b-i))
c++;
else if(abs(b-i)<abs(a-i))
e++;
}
printf("%d %d %d",c,d,e);
return 0;
}


#include<stdio.h>
#include<math.h>
main()
{
	int x=0,y=0,z=0,n,m,t=0,i;
	scanf("%d%d",&n,&m);
	for(i=1;i<=6;i++)
	{
		if(abs(n-i)<abs(m-i))
			x++;
		else if(abs(n-i)>abs(m-i))
			z++;
		else
			y++;
	}
	printf("%d %d %d",x,y,z);
}


#include <stdio.h>

int main()
{
    int l, r, a;
    scanf("%d %d %d", &l, &r, &a);
    while(a)
    {
        if(l < r)
        {
            l++;
        }
        else
        {
            r++;
        }
        a--;
    }
    if(l < r)
    {
        printf("%d\n", l * 2);
    }
    else
    {
        printf("%d\n", r * 2);
    }

}


#include<stdio.h>
int main()
{
	int l,r,a,ans,te;
	scanf("%d %d %d",&l,&r,&a);
	if(l==0&&a==0||r==0&&a==0)
	{
	printf("0\n");
	return 0;
    }
	if(l==r)
	{
		ans=a/2;
		ans=ans+l;
	}
	else
	{
		if(l>r)
		{
			te=l;
			l=r;
			r=te;
		}
		if(l+a>r)
		{
			ans=r-l;
			a=a-ans;
			a=a/2;
			ans=a+r;
		}
		else if(l+a==r)
		ans=r;
		else
		ans=l+a;
	}
	printf("%d\n",ans*2);
	return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main (void) {
  int A1, A2, B1, B2, C1, C2;
  long long cp;
  scanf ("%d %d %d %d %d %d\n", &A1, &A2, &B1, &B2, &C1, &C2);
  cp = (long long) (C2-B2)*(B1-A1) - (long long) (B2-A2)*(C1-B1);
  printf ("%s\n", cp < 0 ? "RIGHT" : cp == 0 ? "TOWARDS" : "LEFT");
  exit (EXIT_SUCCESS);
}


#include <stdio.h>

typedef struct
{
    long long int x;
    long long int y;
}Point; //Tipe data Point

int Absis(Point P) { return P.x; } //Absis dari titik P

int Ordinat(Point P) { return P.y; } //Ordinat dari titik P

int relative_direction(Point P1, Point P2)
{
    /*I.S P1 dan P2 merupakan titik terdefinisi
      F.S Keluarannya berupa kode yang menyatakan P2 di ... menurut P1
      1 = Utara
      2 = Antara Utara dan Timur
      3 = Timur
      4 = Antara Timur dan Selatan
      5 = Selatan
      6 = Antara Barat dan Selatan
      7 = Barat
      8 = Antara Barat dan Utara
    */

    //Algoritma
    if (Absis(P1) == Absis(P2)) //X nya sama, beda y. antara utara dan selatan
    {
        if ((Ordinat(P2) - Ordinat(P1)) > 0) return 1; //Utara
        else return 5;//Selatan
    }
    else if (Ordinat(P1) == Ordinat(P2)) //Ynya sama, beda x. antara Timur dan Barat
    {
        if ((Absis(P2) - Absis(P1)) > 0) return 3; //Timur
        else return 7; //Barat
    }
    else //Ketika miring (Absis dan Ordinat kedua titik tidak sama)
    {
        if (((Absis(P2) - Absis(P1)) > 0) && ((Ordinat(P2) - Ordinat(P1)) > 0)) //Kuadran 1
        {
            return 2;
        }
        else if (((Absis(P2) - Absis(P1)) < 0) && ((Ordinat(P2) - Ordinat(P1)) > 0)) //Kuadran 2
        {
            return 8;
        }
        else if (((Absis(P2) - Absis(P1)) < 0) && ((Ordinat(P2) - Ordinat(P1)) < 0)) //Kuadran 3
        {
            return 6;
        }
        else return 4;
    }
}

int Arah(Point A, Point B, Point C)
{
    /* I.S Point A,B,C terdefinisi
       F.S dapat ditentukan arah dari titik A ke titik C lewat B,
       apakah LEFT (1), RIGHT(2), TOWARDS(3).
    */
    int AB,BC;
    AB = relative_direction(A,B);
    BC = relative_direction(B,C);

if (AB == BC) return 3;
else
{
    if (AB == 1)
    {
        if (BC == 3) return 2; //Kanan
        else return 1;
    }
    else if (AB == 2)
    {
        if (BC == 4) return 2;
        else return 1;
    }
    else if (AB == 3)
    {
        if (BC == 5) return 2;
        else return 1;
    }
    else if (AB == 4)
    {
        if (BC == 6) return 2;
        else return 1;
    }
    else if (AB == 5) //balikan dari AB == 1
    {
        if (BC == 3) return 1;
        else return 2;
    }
    else if (AB == 6)
    {
        if (BC == 4) return 1;
        else return 2;
    }
    else if (AB == 7)
    {
        if (BC==5) return 1;
        else return 2;
    }
    else //Balikan dari AB == 4
    {
        if (BC==6) return 1;
        else return 2;
    }
}
}
int main()
{
    Point A,B,C; //Titik A, B, C
    scanf("%I64d %I64d",&A.x,&A.y);
    scanf("%I64d %I64d",&B.x,&B.y);
    scanf("%I64d %I64d",&C.x,&C.y);
    /*
    printf("Relative Direction B terhadap A : %d\n",relative_direction(A,B));
    printf("Relative Direction C terhadap B : %d\n",relative_direction(B,C));
    */
    if (Arah(A,B,C) == 3) printf("TOWARDS\n");
    else if (Arah(A,B,C) == 2) printf("RIGHT\n");
    else printf("LEFT\n");
    return 0;
}


#include<stdio.h>
int main(){
    int t,c=0,i;
    char a[50];
    scanf("%d",&t);
    scanf("%s",a);
    for(i=0;i<t-1;i++){
        if(a[i]==a[i+1])
        c++;
    }
    printf("%d\n",c);
    return 0;
}


#include <stdio.h>

int main(void) {
int n, count = 0;
char ch1,ch2;
scanf("%d%c",&n);
scanf("%c",&ch1);
while(--n)
{
    scanf("%c",&ch2);
    if(ch2 == ch1)
    {
        count++;
    }
    ch1 = ch2;
}
printf("%d\n",count);
return 0;
}


#include<stdio.h>
int main()
{
    int n,i,a,b,x,y,maxp,minp,k;
    scanf("%d",&n);
    int A[n];
    for(i=0;i<n;i++)
    {
        scanf("%d",&A[i]);
        if(A[i]==1)
        {
            minp=i;
        }
        if(A[i]==n)
        {
            maxp=i;
        }
    }
    if(minp>maxp)
    {
        x=maxp-0;
        y=n-minp-1;
    }
    else
    {
        x=minp-0;
        y=n-maxp-1;
    }
    if(x>=y)
    {
       if(maxp>minp)
       {
           k=maxp;
       }
       else
       {
           k=minp;
       }
    }
    else
    {
        k=n-1-x;
    }
    printf("%d\n",k);
    return 0;
}


#include<stdio.h>
int main()
{
	int n,i,x1 = 0,x2 = 0,var;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&var);
		if((x1 && x2) == 0)
		{
			if(var == 1)	x1 = i;
			else if(var == n) x2 = i;
		}
	}
	//printf("%d %d\n",x1,x2);
	int min = (x1<x2)?x1:x2;
	int max = (x1>x2)?x1:x2;
	if(min > n-1-max)
		printf("%d\n",max);
	else
		printf("%d\n",n-1-min);
	return 0;
}


#include<stdio.h>
int main()
{
    int arr[10]={2,7,2,3,3,4,2,5,1,2};
    int n;
    scanf("%d",&n);
    int r=n%10;
    n=n/10;
    int ans=arr[n]*arr[r];
    printf("%d\n",ans);
    return 0;
}


/*This is by Technical Bangla from University of Dhaka*/
#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c,l,d;
    scanf("%d %d %d",&a,&b,&c);
    l=(a<c?a:c); d=c-a; if(d<0) d=-d;
    printf("%d\n",(b+l-1)*(d-1)+((b+l)*(b+l-1)-b*(b-1)));
    return 0;
}


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

int soma (int a, int b, int c){
	return 2*(a+b+c) - 6;
}

int main () {

	int a, b, c;

	scanf("%d %d %d", &a, &b, &c);

	int total = 0;
	while (1){
		total += soma(a, b, c);
		a--;
		b--;
		c--;
		if (a == 1) { total += b*c; break; }
		if (b == 1) { total += a*c; break; }
		if (c == 1)  { total += b*a; break; }
	}

	printf("%d\n", total);

	return 0;
}


#include<stdio.h>
int main()
{
  long long int n;
scanf("%I64d",&n);
if((n*n)%2!=0)
printf("1");

else
    printf("2");}


#include <stdio.h>

int main()
{
    long long n;
    scanf("%I64d", &n);
    printf("%d\n", n & 1 ? 1 : 2);
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int minimum(int *b)
{
    int min=0,i=0;
    while(b[min]==0)
        min++;
    for(i=1;i<4;i++)
    {
        if(b[i]<b[min] && b[i]!=0)
            min=i;
    }
    return(min);
}
int maximum(int *b)
{
    int max=0,i=0;
    while(b[max]==0)
        max++;
    for(i=1;i<4;i++)
    {
        if(b[i]>b[max] && b[i]!=0)
            max=i;
    }
    return(max);
}
int main()
{
    char **a;
    a=malloc(4*sizeof(char *));
    int i=0;
    char temp[200];
    int b[4];
    int c[4];
    for(i=0;i<4;i++)
    {
        scanf("%s",temp);
        a[i]=strdup(temp);
        b[i]=strlen(a[i])-2;
        c[i]=b[i];
    }
    //b[0]=39;b[1]=35;b[2]=37;b[3]=15;
    //c[0]=39;c[1]=35;c[2]=37;c[3]=15;
    int x1=maximum(b);
    b[x1]=0;
    int x2=maximum(b);
    b[x2]=0;
    int y1=minimum(b);
    b[y1]=0;
    int y2=minimum(b);
    //printf("\nMAX1:%d MAX2:%d MIN1:%d MIN2:%d\n",x1,x2,y1,y2);
    //printf("\nMAX1:%d MAX2:%d MIN1:%d MIN2:%d\n",c[x1],c[x2],c[y1],c[y2]);
    if(c[x1]>=2*c[x2] && 2*c[y1]<=c[y2])
        printf("C");
    else
    {
     if(c[x1]>=2*c[x2])
        printf("%c",a[x1][0]);
    else if(2*c[y1]<=c[y2])
    {
     printf("%c",a[y1][0]);
    }

        else printf("C");
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n , m , i =0 ;
    scanf("%d %d",&n,&m);
    while (n>0 && m>0)
    {
        n-=1;
        m-=1;
        i++;
    }
    if (i%2==0)
        printf("Malvika");
    else
        printf("Akshat");
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main(){
	int num;
	int count=0,i;
	int digitos[10];
	scanf("%d",&num);

	int aux=num;

	for(i=0 ; i<10;i++)
		digitos[i] = 0;

	while(aux!=0){
		digitos[aux%10]=1;
		aux=aux/10;
	}
	if(num == 1){
		printf("1\n");
		return 0;
	}

	for(i=1; i*i <= num; i++){
		if(num % i ==0){
			aux = i;
			while(aux!=0){
				if(digitos[aux%10]==1){
					count++;
					break;
				}
				aux=aux/10;
			}
			aux = num/i;
			if(aux!= i)
				while(aux!=0){
					if(digitos[aux%10]==1){
						count++;
						break;
					}
					aux=aux/10;
				}
		}
	}

	printf("%d\n",count );

	return 0;
}


#include <stdio.h>

int main(void) {
	// your code goes here
char s[101];
int i,p,q=-1,max=0;
p=-1;
scanf("%s",s);
for(i=0;s[i];i++)
{
  if(s[i]=='A' || s[i]=='E' || s[i]=='I' || s[i]=='O' || s[i]=='U' || s[i]=='Y')
   {
    q=i;
  //printf("%d\n",q);
   }
   if(max<q-p)
    max=q-p;
   p=q;
}
//printf("%d\n",i);
max=max>i-p?max:i-p;

printf("%d\n",max);

	return 0;
}


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

char paper[105];
int dis[105];

int main(void)
{
	int r,s = 0,n,rr;
	scanf("%s",paper);
	n = strlen(paper);

	if(panduan(n,paper) == 0)
	{
		printf("%d",n+1);
	}
	else
	{
			for(r = 0;r < n;r++)
		{
			if( paper[r] == 65 || paper[r] == 69 || paper[r] == 73 || paper[r] == 79 || paper[r] == 85 || paper[r] == 89 )
			{
				dis[s] = r + 1;
				s++;
			}
			else
				;
		}

		printf("%d",farthest(s,n,dis));
	}

	return 0;
}

int farthest(int n,int zong,int a[])
{
	int x = 1,i;

	for(i = 0;i < n-1;i++){
		if(fabs(a[i] - a[i+1]) > x)
		{
			x = fabs(a[i] - a[i+1]);
		}
		else
			;
	}

	return (biggest(x,zong-dis[n-1]+1,a[0]));
}

int panduan(int c,char b[])
{
	int ii,buer=0;
	for(ii = 0;ii < c;ii++)
	{
		if(b[ii]==65||b[ii]==69||b[ii]==73||b[ii]==79||b[ii]==85||b[ii]==89)
			buer++;
		else
			;
	}
	return buer;
}

int biggest(int c,int d,int e)
{
	if(c>d)
	{
		if(c>e)
			return c;
		else
			return e;
	}
	else
	{
		if(d>e)
			return d;
		else
			return e;
	}
 }


#include<stdio.h>
int gcd(int a,int b)
{
	if(a>b)
	{
		if(a%b==0)
			return b;
		else
			return gcd(b,a%b);
	}
	else if(a<b)
	{
		if(a%b ==0)
			return a;
		else
			return gcd(a,b%a);
	}
	else if(a==b)
		return a;

	//if(a>b)
	//{
	//		return gcd(a-b,b);
	//
	//	}
	//	if(a<b)
	//	{
	//		return gcd(b-a,a);
	//	}
}
int func(int a,int b)
{
	int     r,count=0;
	while(a>=b)
	{
		r = a%b;
		count += r;
		a = a/b ;
	}
	return (count+a);
}
int main()
{
	int    n,ans=0,i,a1,a2,d;
	scanf("%d",&n);
	//printf("gcd-3,7 %d\n",gcd(3,7));
	for(i=2;i<n;i++)
	{

		ans += func(n,i);
		//printf("%d ",ans);
	}
	d = gcd(ans,n-2);

	a1 = ans/d;
	a2 = (n-2)/d;

	printf("%d/%d\n",a1,a2);

	return 0;
}


#include<stdio.h>
main()
{
    int n,sum=0,i;
    scanf("%d",&n);
    if(n>2)
    {
        for(i=2;i<n;i++)
        sum+=sumd(n,i);
    }
    int k=n-2;

    reduce(sum,k);
    return 0;

}
int sumd(int a,int b)
{  int d=0;
    while(a>b-1)
    {
        d+=a%b;
        a/=b;
    }
    d+=a;
    return (d);
}
void reduce(int n,int d)
{
    int max,p,q,i;
     if(n>d) max = n;
     else max=d;
     p=n;
     q=d;
     for(i=2;i<=max;i++)
     {
      while(n%i ==0 && d%i ==0)
      {
        n/=i;
        d/=i;
        }
      }
     printf("%d/%d",n,d);
     return 0;
}


#include <stdio.h>
int main()
{
    long long int k,a,b,p;
    scanf(" %lld%lld%lld",&k,&a,&b);
    if((a>=k && b>=k) || (a%k==0 && a!=0 ) || (b%k==0 && b!=0))
    {p=a/k+b/k;
    printf("%lld\n",p);}
    else printf("-1\n");
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
	int k,a,b;
	scanf("%d%d%d",&k,&a,&b);
	int p = a%k;
	int q = b%k;
	int r = (a/k);
	int s =	(b/k);
	if(r>0 & s>0 )
	{
		if(p>0 && q>0)
			printf("%d\n",r+s);
		else if(p>0 && q==0)
			printf("%d\n",r+s);
		else if(q>0 && p==0)
			printf("%d\n",r+s);
		else
			printf("%d\n",r+s);
	}
	else if(r==0 & s==0 )
	{
		printf("-1\n");
	}
	else if(r==0 & s>0 )
	{
		if(p>0 && q>0)
			printf("-1\n");
		else if(p>0 && q==0)
			printf("%d\n",r+s);
		else if(q>0 && p==0)
			printf("-1\n");
		else
			printf("%d\n",r+s);
	}
	else
	{
		if(p>0 && q>0)
			printf("%d\n",-1);
		else if(p>0 && q==0)
			printf("%d\n",-1);
		else if(q>0 && p==0)
			printf("%d\n",r+s);
		else
			printf("%d\n",r+s);
	}

	return 0;
}


#include<stdio.h>

int main()

{
    long long int a,b,c,d,e,x,y,i,j,z,p,q,r;

    scanf("%lld %lld %lld %lld",&a,&b,&x,&y);

    c=x;
    d=y;

    while(c%d)
    {
       e=c%d;
       c=d;
       d=e;
    }

    x=x/d;
    y=y/d;

    p=a/x;
    q=b/y;

    r=(p<q)?p:q;

    printf("%lld",r);
}


#include <stdio.h>
long long int  gcd( long long x, long long y)
{
    if(y==0)
    {
        return x;
    }
    else
    {
        return gcd(y,x%y);
    }
}
int main()
{
     long long int a,b,c,d,m,n,o,p;
    scanf("%lld%lld%lld%lld",&a,&b,&c,&d);
    m=gcd(c,d);
    c=c/m;
    d=d/m;
    n=a/c;
    o=b/d;
    if(n<=o)
    {
        printf("%lld",n);
    }
    else
    {
        printf("%lld",o);
    }

}


#include<stdio.h>
#include<string.h>

int main(){

int n,x;
int c = 0;
int a[1001];

scanf(" %d %d", &n,&x);

for(int i=0; i<n; i++)
{
	scanf("%d", & a[i]);
}

int min = a[0];

for (int i = 1 ; i < n ; i++ )
{
	if ( a[i] < min )
	{
		min = a[i];
	}
}

if( x > min)
{
for (int i = 0; i<n; i++)
{
	if(a[i] < x)
	{
		c++;
	}
}
	for(int i=0; i<n; i++)
	{
		if(a[i] == x)
		{
		int z = x - c +1;
		printf("%d",z);
		return 0;
		}
	}

	printf("%d", x - c);
}

if(x == min)
{
	int z = 1 + x;
	printf("%d",z);
}

if(x < min)
{
	int z = x;
	printf("%d",z);

}
return 0;
}


#include<stdio.h>
int main()
{
   int n, m,sum, cnt=1;
   scanf("%d %d", &n, &m) ;
   if(n>m)
   printf("%d\n", n-m) ;
   else if(n==m)
   printf("0\n") ;
  else
{
   if(m%2==0)
   sum=m/2;
   else
   {
   	sum=(m+1)/2;
   	cnt+=1;
  }
    for(;sum>n;cnt++)
    {
    	if(sum%2==0)
    	{
    		sum=sum/2;

    	}
    	else
    	{
    		sum=(sum+1)/2;
    		cnt+=1;
    	}
   }
   if(sum==n)
   printf("%d\n", cnt) ;
   else
   printf("%d\n",( n-sum)+cnt) ;
}
return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
   int x,n;
   scanf("%d%d",&x,&n);
       int y=0;
       for(int i=0;x!=n;i++)
       {
           if(n>x){
           if(n%2==0)
              {
            n/=2;
            }
           else
            n++;}
            else
                x-=1;
           y++;
       }
       printf("%d",y);
}


#include <stdio.h>
int main()
{
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	printf("%d", (((b + c) % a + a) % a) == 0 ? a : ((b + c) % a + a) % a);
}


#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c,d,e;
    scanf("%d%d%d",&a,&b,&c);
    if(c>=0)
    {
        if(c>=a)
        {
            d=c%a;
            if(d+b>a)
              e=d+b-a;
            else
                e=d+b;
        }
        else
            {
                if((b+c)>a)
                {
                    e=b+c-a;
                }
                else
                    e=b+c;
            }
    }
    else
    {
        if(abs(c)>=a)
        {
            d=abs(c)%a;
            if((b-d)>=1)
            {
                e=b-d;
            }
            else
                e=a+(b-d);
        }
       else
        {
            if((b-c)>=1)
            {
                e=b+c;
            }
            e=a+b+c;
            if(e>a)
                e=e-a;
        }
    }

    printf("%d",e);
}


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int lucky(int x);
int main()
{
   int x ,i;
   scanf("%d",&x);
   if(lucky(x)==1){printf("YES"); return 0;}

   for (i=x/2;i>1;i--){

        if(x%i==0){

            if(lucky(i)==1){printf("YES"); return 0;}
        }

   }

   printf("NO");

    return 0;
}
int lucky(int x){
   while(x!=0){
    if(x%10!=4&&x%10!=7){return 0;}
    x=x/10;
   }
   return 1;
   }


#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    printf((n%4 && n%47 && n%477 && n%7 && n%744) ? "NO": "YES");

    return 0;
}


/* Coached by rainboy */
#include <stdio.h>
#include <stdlib.h>

#define N 100

int compare(const void *a, const void *b) {
	int ia = *(int *) a;
	int ib = *(int *) b;

	return ia - ib;
}

int main() {
	static int pp[N / 2];
	int n, i, cnt1, cnt2;

	scanf("%d", &n);
	for (i = 0; i < n / 2; i++)
		scanf("%d", &pp[i]);
	qsort(pp, n / 2, sizeof *pp, compare);
	cnt1 = 0;
	for (i = 0; i < n / 2; i++)
		cnt1 += abs(pp[i] - (i * 2 + 1));
	cnt2 = 0;
	for (i = 0; i < n / 2; i++)
		cnt2 += abs(pp[i] - (i * 2 + 2));
	printf("%d\n", cnt1 < cnt2 ? cnt1 : cnt2);
	return 0;
}


#include<stdio.h>
#include<stdlib.h>
int n;
int a[107];
int slt(const void *p,const void *q){
	return *(int *)p-*(int *)q;
}
void run(){
	int i,l,r;
	while(scanf("%d",&n)!=EOF){
		for(i=0;i<n/2;i++){
			scanf("%d",&a[i]);
			a[i]--;
		}
		qsort(a,n/2,sizeof(a[0]),slt);
		l=0;
		for(i=0;i<n/2;i++){
			l+=a[i]>=i*2?(a[i]-i*2):-(a[i]-i*2);
		}
		r=0;
		for(i=0;i<n/2;i++){
			r+=a[i]>=i*2+1?(a[i]-(i*2+1)):-(a[i]-(i*2+1));
		}
		printf("%d\n",l<r?l:r);
	}
}
main(){
#ifndef	ONLINE_JUDGE
	freopen("e44a_min.in","rb",stdin);
	freopen("e44a_.out","wb",stdout);
#endif
	run();
	return 0;
}


#include<stdio.h>
int main()
{
    int n,x,count=0,lst,lstbfr;
    scanf("%d",&n);
    x=n;
    if (n==0){
        printf("0\n");
        return 0;
    }
    if (n>0){
       lst=n/10;
       lstbfr=n/100;
       lstbfr=lstbfr*10+(n%10);
       if (n<lst){
            n=lst;
            if (n<lstbfr){
            n=lstbfr;
            }
       }
       else {
        if (n<lstbfr) n=lstbfr;
       }
       printf("%d\n",n);
    }
    else {
        n=n*(-1);
       lst=n/10;
       lstbfr=n/100;
       lstbfr=lstbfr*10+(n%10);
       if (n>lst){
            n=lst;
            if (n>lstbfr){
                n=lstbfr;
            }
       }
       else {
        if (n>lstbfr) n=lstbfr;
       }
       if (n==0) printf("%d\n",n);
       else printf("-%d\n",n);
    }

    return 0;
}


#include <stdio.h>
#include <stdlib.h>
int main (){
     int a[2],b,count=0,countf=0;
     scanf ("%d %d", &a[0],&a[1]);
     while (2){
          a[0]--;
          a[1]--;
          count++;
          if(a[0]==0||a[1]==0)break;
     }
     for (b=0;b<2;b++){
          if (a[b]!=0){
               countf=a[b]/2;
               break;
          }
     }
     printf ("%d %d\n",count,countf);
}


#include <stdio.h>

int main()

{
	int r,b,d=0,l=0;

	scanf("%d %d",&r,&b);

	if(r>=b)
	{
		d=b;
		l = (r-b)/2;
	}
	else
	{
		d=r;

		l = (b-r)/2;
	}

	printf("%d %d\n",d,l );

}


#include <stdio.h>
#include <stdlib.h>

int main(void) {
	int a,b,n,k,t=0;
	scanf("%d %d %d",&a,&b,&n);
	while(n>0)
	{
		if(t%2==0)
		{
			k=a<n? a:n;
			while(a%k!=0 || n%k!=0)
				k--;
		}
		else
		{
			k=b<n? b:n;
			while(b%k!=0 || n%k!=0)
				k--;
		}
		n-=k;
		t++;
	}
	printf("%d",--t%2==0 ? 0:1);
	return 0;
}


#include <stdio.h>
int main () {
    int a, b, n, w;
    int divider(int, int);

    scanf("%d %d %d", &a, &b, &n);

    while (1){
        if (n - divider(a, n) > 0) {
            n -= divider(a, n);
        } else {
            w = 0;
            break;
        }
        if (n- divider(b, n) > 0) {
            n -= divider(b, n);
        } else {
            w = 1;
            break;
        }

    }
    printf("%d", w);
}

int divider(a, n){
    int i, p;
    for (i = 1; i < a + 1; i++){
        if(a % i == 0 && n % i == 0) p = i;
    }
    return p;
}


#include<stdio.h>
#include<math.h>
main()
{
    int a;
    scanf("%d",&a);
     printf("%d",(a/2)+1);
     return 0;
}


#include<stdio.h>
int main()
{
    long long n;
    scanf("%lld",&n);
    if(n%2==0)
    {
        printf("%lld",(n+2)/2);
    }
    else
    {
        printf("%lld",(n+1)/2);
    }
}


#include<stdio.h>

int bul(int a,int b,int d)
{
	int i;
	for(i=a;i<=d;i++)
		if(i%a==0 && i%b==0)
			return i;
	return 0;
}

void oku()
{
	int a,b,c,d,i,e;
	scanf("%d %d %d %d",&a,&b,&c,&d);
	e=bul(a,b,d);
	if(e==0)
	{
		printf("0");
		return;
	}
	for(i=c;i<=d+10;i++)
	{
		c=i;
		if(i%e==0 && i>=e)
		{
			c=i;
			break;
		}
	}
	for(i=d;i>=c;i--)
	{
		d=i;
		if(i%e==0 && i>=e)
		{
			d=i;
			break;
		}
	}
	if(c>d)
	{
		printf("0");
		return;
	}
	printf("%d",(d-c)/e+1);
}

int main()
{
	oku();
	return 0;
}


#include <stdio.h>
#include <stdlib.h>
int gcd(a, b)
{
    int m, i, ans;
    m = (a>b)?b:a;
    for(i = m; i >= 1; i--){
        if(a%i==0 &&  b%i==0){
            ans =  i;
            break;
        }
    }
    return (a*b)/ans;
}

int main()
{
    int x, y, a, b, i, p;
    scanf("%d%d%d%d", &x, &y, &a, &b);
    p = gcd(x, y);
  //  printf("%d\n", p);
  if(a%p==0 && b%p!=0){
    printf("%d", (b/p)-(a/p)+1 );
  }
  else if(a%p!=0 && b%p==0){
     printf("%d",  (b/p)-(a/p));
  }
    else if(a%p==0 && b%p==0){
        printf("%d", (b/p)-(a/p)+1);
    }
    else{
        printf("%d", (b/p)-(a/p));
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main(){
  int n, div;
  scanf("%d", &n);
  div=2;
  while(n%div>0)
    div++;
  printf("%d%d", div, n/div);
  return 0;
}


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main()
{
   int a[5],i,sum=0,j;
   for(i=0;i<5;i++)
   scanf("%d",&a[i]);
   for(i=0;i<5;i++){
        sum=sum+a[i];
     }
   if(sum==0)
     printf("-1");
   if(sum>0){
    if(sum%5==0){
   printf("%d",sum/5);
   }
   else{
    printf("-1");
   }
   }
}


#include<stdio.h>
#include<limits.h>
#define ll long long
ll min(ll, ll);
int main()
{
	ll n, a, b, c;
	scanf("%lld%lld%lld%lld", &n, &a, &b, &c);
	ll m = (4 - (n % 4)) % 4;
	ll mn;
	if (m == 1)
		mn = min(a, min(3 * c, c + b));
	else if (m == 2)
		mn = min(b, 2 * min(a, c));
	else if (m == 3)
		mn = min(3 * a, min(b + a, c));
	else
		mn = 0;
	printf("%lld\n", mn);
	return 0;
}

ll min(ll a, ll b)
{
	return a < b ? a : b;
}


#include <stdio.h>

typedef long long INT64;

INT64 min(INT64 a, INT64 b) {
    return (a < b) ? a : b;
}

int main(void) {
    INT64 n = 0, a = 0, b = 0, c = 0;
    INT64 i = 0, j = 0, k = 0;
    INT64 result = 0;

    scanf("%lld %lld %lld %lld", &n, &a, &b, &c);
    if (n % 4 == 0) {
        printf("0\n");
    } else {
        if (n % 4 == 1) {
            result = a * 3;
            result = min(result, a + b);
            result = min(result, c);
            result = min(result, b * 3 + a);
        } else if (n % 4 == 2) {
            result = min(a * 2, b);
            result = min(result, 2 * c);
        } else if (n % 4 == 3) {
            result = a;
            result = min(result, b + c);
            result = min(result, c * 3);
        }

        printf("%lld\n", result);
    }

    return 0;
}


#include <stdio.h>
#include <stdlib.h>

int main()
{
    double k,b,n,t;
    double bacteria=1;double time=0;
    scanf("%lf %lf %lf %lf",&k,&b,&n,&t);
    while(bacteria<=t){
        bacteria=(k*bacteria+b);
        if(bacteria>t){
         break;
        }else if(bacteria==t){
            time++;
            break;
        }
        time++;
    }
    if(time>n){
        n=0;
    }else{
        n-=time;
    }

    printf("%0.0lf",n);
    return 0;
}


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

int main()
{
    int k,b,n,t;
    long long z,x=1;

    scanf("%d %d %d %d",&k,&b,&n,&t);

    while(x*k+b<=t){
        x=x*k+b;
        n--;
    }
    if(n<=0){
        printf("0");
    }else{
    printf("%d",n);
    }
    return 0;
}


#include<stdio.h>
int main()
{
    int a;
    while(scanf("%d",&a)==1)
    {
        if(a%2==1)
            printf("%d\n",a/2);
            else
            printf("%d\n",(a/2)-1);
    }
    return 0;
}


#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    if(n%2==0)
    printf("%d",(n/2)-1);
    else printf("%d",n/2);
    return 0;

}


#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n],b[n];
    int i;
    for(i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    i=0;
    for(i=0;i<n;i++){
        scanf("%d",&b[i]);
    }
    int s1=0,s2=0;
    for(i=0;i<n;i++){
        s1=s1+a[i];
        s2=s2+b[i];
    }
    if(s1>=s2) printf("Yes");
    else printf("No");
    return 0;

}


#include <stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
long long cmpfunc (const void * a, const void * b) {
   return ( *(long long*)a - *(long long*)b );
}

int main(void){

long long int test,i,j,n,count,flag=0,o1=0,o2=0,b1,x,m,l,max,sum2,min,f,c,r,o,sum1,sum=0,y,a,b,count1=0,a2,b2;

scanf("%lld",&n);
a2=b2=0;
for(i=0;i<n;i++){
    scanf("%lld",&a);
    a2+=a;
}
for(i=0;i<n;i++){
     scanf("%lld",&a);
    b2+=a;
}
if(b2>a2){
    printf("No");
}else{
    printf("Yes");
}
return 0;
}


//https://codeforces.com/problemset/problem/1162/A
/*
Опять ограничения
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вы планируете строить дома на улице. На улице есть n
мест, где вы можете построить дома. Эти места пронумерованы слева направо от 1 до n. В каждом месте вы можете построить дом с целочисленной высотой от 0 до h

.

В каждом месте, если дом имеет высоту a
, вы получите от него прибыль в размере a2

долларов.

Город имеет m
ограничений. В соответствии с i-м ограничением, самый высокий дом от li до ri (включительно) должен иметь высоту не более xi

.

Вы хотели бы построить дома, чтобы максимизировать свою прибыль. Определите максимально возможную прибыль.
Входные данные

Первая строка содержит три целых числа n
, h и m (1≤n,h,m≤50

) — количество мест, максимальная высота и количество ограничений.

Каждая из следующих m
содержит три целых числа li, ri и xi (1≤li≤ri≤n, 0≤xi≤h) — левая и правая граница (включительно) i

-го ограничения и максимальная возможная высота на этом отрезке.
Выходные данные

Выведите одно целое число — максимальную возможную прибыль.
Примеры
Входные данные
Скопировать

3 3 3
1 1 1
2 2 3
3 3 2

Выходные данные
Скопировать

14

Входные данные
Скопировать

4 10 2
2 3 8
3 4 7

Выходные данные
Скопировать

262

Примечание

В первом примере можно построить 3
дома, максимальная высота которых — 3, а также есть 3 ограничения. Первое ограничение говорит, что самый высокий дом между 1 и 1 должен иметь высоту не более 1. Второе ограничение говорит, что самый высокий дом между 2 и 2 должен иметь высоту не более 3. Третье ограничение говорит, что самый высокий дом между 3 и 3 должен иметь высоту не более 2

.

В этом случае оптимально строить дома высотой [1,3,2]
. Это вписывается во все ограничения. Общая прибыль в этом случае составляет 12+32+22=14

.

Во втором примере можно построить 4
дома, максимальная высота которых — 10, а также есть 2 ограничения. Первое ограничение говорит, что самый высокий дом от 2 до 3 должен иметь высоту не более 8. Второе ограничение говорит, что самый высокий дом от 3 до 4 должен иметь высоту не более 7

.

В этом случае оптимально строить дома высотой [10,8,7,7]
. Мы получаем прибыль в размере 102+82+72+72=262. Обратите внимание, что есть два ограничения на дом 3, и оба они должны выполняться. Кроме того, обратите внимание, что хотя нет никаких явных ограничений на дом 1, мы все равно должны ограничить его высоту не более 10 (h=10).
*/
#include <stdio.h>
const int MAX = 51;

int min (int a, int b){ if (a<b) return a; else return b;}

int main (){
int i,h,n,m;
int a[MAX];
scanf("%i%i%i",&n,&h,&m);
for(i=0;i<n;i++)
	a[i] = h;
for (i=0;i<m;i++){
	int l,r,x;
	scanf("%i%i%i",&l,&r,&x);
	int j;
	for(j=l-1;j<=r-1;j++)
		a[j] = min(x, a[j]);

}
m = 0;
for (i=0;i<n;i++)
	m += a[i]*a[i];

printf("%i\n",m);
return 0-0-0;
}


#include <stdio.h>

int spots,maxlen,rest,rests[51][2],restlen[51],houses[51],answer;

void sort ()
{
	for (int i=0;i<rest;i++)
	{
		for (int j=i+1;j<rest;j++)
		{
			if (restlen[j]>restlen[i])
			{
				int temp = restlen[j];
				restlen[j] = restlen[i];
				restlen [i] = temp;
				int temp2 = rests[j][0];
				rests[j][0] = rests[i][0];
				rests[i][0] = temp2;
				int temp3 = rests[j][1];
				rests[j][1] = rests[i][1];
				rests[i][1] = temp3;
			}
		}
	}
}

int main ()
{
	//freopen ("cf.in","r",stdin),freopen("cf.out","w",stdout);
	scanf ("%d %d %d",&spots,&maxlen,&rest);
	for (int i=0;i<rest;i++)
	{
		scanf ("%d %d %d",&rests[i][0],&rests[i][1],&restlen[i]);
		//printf("three indices = %d %d %d\n",rests[i][0],rests[i][1],restlen[i]);
	}
	sort ();
	for (int i=0;i<rest;i++)
	{
		//printf ("restlen[%d] = %d \n",i,restlen[i]);
	}
	for (int i=0;i<rest;i++)
	{
		for (int j=rests[i][0]-1;j<rests[i][1];j++)
		{
			houses[j] = restlen [i] == 0 ? -1 : restlen[i];
			//printf("%dth house is %d\n",j+1,houses[j]);
		}
	}
	for (int i=0;i<spots;i++)
	{
		//printf("houses[%d] = %d ",i,houses[i]);
		if (houses[i]==0)
			answer += maxlen*maxlen;
		else
			answer += houses[i] ==-1 ? 0 : houses[i]*houses[i];
	}
	printf("%d",answer);
}


#include<stdio.h>
int main(void)
{
	int n;
	scanf("%d",&n);
	if(n==0)
		printf("0\n");
	else if(n==2)
	    printf("2\n");
	else
		printf("1\n");

}


#include<stdio.h>
int main()
{
    int A,M=1;
    scanf("%d",&A);
    if(A==2)
    {
        printf("2\n");
    }
    else
    {
        printf("%d\n",M);
    }
}


#include <stdio.h>
#include <stdlib.h>

int sf(const void* a, const void* b)
{
	return (*((const int*)a)) - (*((const int*)b));
}

int main()
{
	int i;
	int n;
	int a[100];
	scanf("%d", &n);
	for(i = 0; i < n; i++)
		scanf("%d", &a[i]);
	qsort(a, n, sizeof(int), sf);
	a[0] ^= a[n - 1];
	a[n - 1] ^= a[0];
	a[0] ^= a[n - 1];
	for(i = 0; i < n; i++)
		printf("%d ", a[i]);
	return 0;
}


#include <stdio.h>
#include <string.h>
int n,num[101] = {0};
int comp(int *a,int *b)
{
    return *b-*a;
}
int comp2(int *a,int *b)
{
    return *a-*b;
}
int main()
{
    int i;
    scanf("%d",&n);
    for(i=1;i<=n;i++) scanf("%d",&num[i]);
    qsort(num+1,n,sizeof(int),comp);
    qsort(num+2,n-2,sizeof(int),comp2);
    for(i=1;i<=n;i++) printf("%d ",num[i]);
    return 0;
}


#include <stdio.h>

long long foo(long long x) {
    return (x * (x - 1) / 2);
}

int main() {
    long long x, y, min = 0, max = 0;
    scanf("%lld%lld", &x ,&y);
    min = ((x % y) * foo((x / y) + 1)) +  foo(x / y) * (y  - (x % y));
    max = foo(x - (y - 1));
    printf("%lld %lld\n", min, max);
    return 0;
}


#include<stdio.h>

int main()
{
long long n,m,gmax,gmin,anterior,aux;
scanf("%lld%lld",&n,&m);
if(n==1)
{
    gmin=0;
    gmax=0;
}
else if(m==1)
{
    gmin=n*(n-1)/2;
    gmax=gmin;
}
else if(m==n)
{
    gmin=0;
    gmax=0;
}
else {
    gmax=n-m+1;
    gmax=gmax*(gmax-1)/2;
    if(n%m==0)
    {
        gmin=n/m;
        gmin=(gmin*(gmin-1)/2)*m;
    }
    else{
        gmin=n/m;
        anterior=n%m;
        if(anterior!=0)
        {
            aux=gmin;
            gmin=gmin*(gmin-1)/2*(m-anterior);
            aux=aux+1;
            gmin=gmin+aux*(aux-1)/2*(anterior);
        }
        else gmin=(gmin*(gmin-1)/2)*m;
       }
   }
    printf("%lld %lld\n",gmin,gmax);
    return 0;
}


#include<stdio.h>
#include<math.h>
long mu10(int x){
	int i;long kq=1;
	for(i=1;i<=x;i++)kq=kq*10;
	return kq;
}
char So_xau(char s[],long n){
	int i;
	for(i=8;i>-1;i--){
		s[8-i]=n/mu10(i)+48;
		n=n%mu10(i);
	}
	s[9]=0;
}
int main(){
long a,b,mod;
char win;
char a1[10];
scanf("%ld%ld%ld",&a,&b,&mod);
if(b>=mod-1)win=2;
else{
	long A;
	if(a>=mod)A=mod-1;else A=a;
	long i,S=0;
	for(i=1;i<=A;i++){
	S=S+mu10(9)%mod;
	while(S>mod)S=S-mod;
	if(S>0&&S<mod-b)break;

	}
	if(i>A)win=2;
	else{
		win=1;
		So_xau(a1,i);
	}
}
printf("%d",win);if(win==1)printf(" %s",a1);
}


#include<stdio.h>
#include<stdlib.h>

int main(){
    long i, j;
    long a, b, mod;
    scanf( "%ld %ld %ld", &a, &b, &mod );

    if( b >= mod - 1 ){
        printf( "\n%d", 2 );
        return 0;
    }

    for( i=0; i<=a && i<=mod; i++ ){

        long long temp = i*1000000000LL;

        long remainder = temp % mod;
        if( remainder != 0 )
            remainder = mod - remainder;

        if( remainder > b ){
            printf( "\n%d %09ld", 1, i );
            return 0;
        }

    }

    printf( "\n%d", 2 );
    return 0;

}


#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    if(a%2!=0)
    {
        printf("1");
    }
    else
    {
        printf("0");
    }
}


#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
#include<time.h>

int main()
{
    int n;
    scanf("%d",&n);
    if((n%2)==0)
        printf("0");
    else printf("1");

}


#include<stdio.h>
#include<string.h>

int main(){
    int n,j,i,flag=0,c=0,m;
    scanf("%d %d",&n,&m);
    if(n<1||m<1||n+m<3){printf("0");return 0;}
    while(n>0&&m>0){
        if(n>=m){n=n-2;m=m-1;c++;}
        else {n=n-1;m=m-2;c++;}
        if(n+m<3)break;
    }
    printf("%d",c);
    return 0;
}


#include <stdio.h>

int main()
{
	long a, b, c;
	scanf("%ld %ld", &a, &b);
	c = 0;
	while (b + a > 2 && a && b) {
		if (a >= b) {
			a = a - 2;
			b--;
		}
		else {
			b = b - 2;
			a--;
		}
		c++;
	}
	printf("%ld\n", c);

	return 0;
}


#include <stdio.h>
int main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    if(x==y)
        printf("=");
    else if(x==1)
        printf("<");
    else if(y==1)
        printf(">");
    else if(x==2&&y==3)
        printf("<");
    else if(x==3&&y==2)
        printf(">");
    else if((x==2&&y==4)||(y==2&&x==4))
        printf("=");
    else if(x>y)
        printf("<");
    else
        printf(">");
    return 0;
}


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    long i,flag=0;
    char s[100];
    scanf("%s",s);
    for(i=0;i<strlen(s);i++)
    {
        if(s[i]=='.')
            s[i]=' ';
    }
    if(strlen(s)<3)
        printf("No");
    else{
    for(i=0;i<strlen(s)-2;i++)
    {
        if(s[i]+s[i+1]+s[i+2]==198&&s[i]!=s[i+1])
            {
             flag=1;
             break;
            }
        else
            flag=0;
    }
    if(flag==1)
        printf("Yes");
    else
        printf("No");

}
}


#include<stdio.h>
#include<string.h>

int main()
{
	char s[103];
	scanf("%s",s);
	int i,len;
	len=strlen(s);
	int count=0;
	for(i=1;i<len-1;i++)
	{
		if(s[i]!='.' && s[i]!=s[i+1] && s[i]!=s[i-1] && s[i+1]!='.' && s[i-1]!='.' && s[i+1]!=s[i-1])
		{
			count=1;
//printf("%d %c\n",i,s[i]);
			//printf(
		}
	}
	if(count==1)
		printf("Yes\n");
	else
		printf("No\n");
	return 0;
}


#include<stdio.h>
#include<string.h>

int main(){
    char Pass[80];
    char decode[10][10];
    int j, n;

     scanf("%s", Pass);

     for(j=0; j<10; j++){
        scanf("%s", decode[j]);
     }

    for(j=0; j<8; j++){

        for(n=0; n<10; n++){

            if(strncmp(&Pass[j*10], decode[n], 10)==0){

                printf("%d", n);

                break;
            }
        }
    }

}


#include <stdio.h>
#include <string.h>
int main ()  {
    char  binarioCodigo [ 81 ], binarioCodigoPares [ 10 ][ 11 ];
    scanf ( "%s" ,  & binarioCodigo );
    int i , j ;
    for  ( i = 0 ; i < 10 ; i ++)  {
        scanf ( "%s" , binarioCodigoPares [ i ]);
    }
    for  ( i = 0 ; i < 8 ; i ++)  {
        for  ( j = 0 ; j < 10 ; j ++)  {
            if  ( strncmp ( binarioCodigo + 10 * i , binarioCodigoPares [ j ],  10 )== 0 ){
                printf ( "%d" , j );
            }
        }
    }
return  0 ;
}


#include <stdio.h>
#include <string.h>
#define SIX  (A[i]+A[i+1]+A[i+2]+B[i]+B[i+1]+B[i+2])
#define SIX_  A[i]=A[i+1]=A[i+2]=B[i]=B[i+1]=B[i+2]
#define FOUR (A[i]+A[i+1]+B[i]+B[i+1])
#define FOUR_ A[i]=A[i+1]=B[i]=B[i+1]
int n,i,ans;
int main(){char A[111], B[111];
    for(scanf("%s%s",A,B),n=strlen(A);i<n;i++)
        A[i]=A[i]=='X', B[i]=B[i]=='X';
    FOUR_=1;
    for(i=0 ; i<n ; i++)
        if(SIX==0) ans+=2, SIX_=1, i+=2;
        else if(FOUR==1) ans++, FOUR_=1, i++;
        else if(FOUR==0) ans++, FOUR_=1, i++;
    printf("%i\n", ans);
}


#include <stdio.h>
double max(double a, double b) {
  return a>b?a:b;
}
int main() {
  int a,b,c,d; double x,y;
  scanf("%d%d%d%d",&a,&b,&c,&d);
  x=max(0.3,1-c*0.004)*a;
  y=max(0.3,1-d*0.004)*b;
  printf("%s\n",x-y<0.000001&&x-y>-0.000001?"Tie":x>y?"Misha":"Vasya");
  return 0;
}


#include<stdio.h>
int main ()
{
    int a,b,c,d,k,l,m,max,n,maz;
    scanf("%d %d %d %d",&a,&b,&c,&d);
    k=a-((a/250)*c);
    m=(3*a)/10;
    if(k>m)
    {
      max=k;
    }
    else
    {
        max=m;
    }
    l=b-((b/250)*d);
    n=(3*b)/10;
    if(l>n)
    {
        maz=l;
    }
    else
    {
        maz=n;
    }
    if(max>maz)
    {
        printf("Misha");
    }
    else if(maz>max)
    {
        printf("Vasya");

    }
    else if(max==maz)
    {
        printf("Tie");
    }

}


#include<stdio.h>
int main()
{
    int n,m,i,c=0,o;
    scanf("%d%d",&n,&m);
    o=n;
    for(int i=1;i<=n;i++)
    {
        if(i%m==0)
         {
             c++;
             n++;
         }

    }
   // printf("%d",c);
    printf("%d",c+o);

}


#include<stdio.h>
int main()
{
    int n,m,sum,a,b;
    scanf("%d %d",&n,&m);
    sum=n;
    while(!(n/m==0)){
        a=n/m;
        b=n%m;
        n=a+b;
        sum=sum+a;
    }
    printf("%d",sum);
    return 0;
}


#include <stdio.h>

#define N	100

struct ball {
	int c, cnt;
} bb[N];

int count(struct ball *bb, int n, int i) {
	int l, r, k;

	k = bb[i].cnt;
	for (l = i - 1, r = i + 1; l >= 0 && r < n && bb[l].c == bb[r].c && bb[l].cnt + bb[r].cnt >= 3; l--, r++)
		k += bb[l].cnt + bb[r].cnt;
	return k;
}

int main() {
	int n, k, x, c_, l, i, max, cnt;

	scanf("%d%d%d", &n, &k, &x);
	c_ = -1;
	l = -1;
	for (i = 0; i <= n; i++) {
		int c;

		if (i < n)
			scanf("%d", &c);
		if (i == n || c_ != c) {
			l++;
			if (i < n) {
				bb[l].cnt = 1;
				bb[l].c = (c_ = c);
			}
			c_ = c;
		} else
			bb[l].cnt++;
	}
	max = 0;
	for (i = 0; i < l; i++)
		if (bb[i].c == x && bb[i].cnt == 2) {
			cnt = count(bb, l, i);
			if (max < cnt)
				max = cnt;
		}
	printf("%d\n", max);
	return 0;
}


#include <stdio.h>

long long int fact(int a);

int main() {
    long long int a, b;
    scanf("%lld %lld", &a, &b);
    printf("%lld\n", fact(a > b ? b : a));
    return 0;
}

long long int fact(int a) {
    return a > 1 ? a*fact(a-1) : 1;
}


#include<stdio.h>

int main()
{
	unsigned long a, b;
	unsigned long i;
	scanf(" %lu %lu",&a, &b);

	if(a>b)
	{
		for(i=(b-1); i > 0; i--)
		{
			b = b*i;
		}
		printf("%lu",b);
	}
	else
	{
		for(i=(a-1); i > 0; i--)
		{
			a = a*i;
		}
		printf("%lu",a);
	}
}


#include <stdio.h>
#define NMAX 110
//#define DEBUG

int min(int a, int b, int c) {
	if (a <= b && a <= c)
		return a;
	if (b <= a && b <= c)
		return b;
	return c;
}

int main(void) {
	#ifdef DEBUG
		freopen("input.txt", "r", stdin);
		freopen("output.txt", "w", stdout);
	#endif

	int n, a[NMAX], T[3][NMAX],
		i, j;

	scanf("%d", &n);
	for (i = 0; i < n; ++i)
		scanf("%d", a + i);

	T[0][0] = 1;
	for (i = 1; i < 3; ++i)
		if (a[0] & i)
			T[i][0] = 0;
		else
			T[i][0] = NMAX;

	for (j = 1; j < n; ++j)
		for (i = 0; i < 3; ++i)
			if (0 == i)
				T[i][j] = 1 + min(T[0][j - 1], T[1][j - 1], T[2][j - 1]);
			else if (a[j] & i)
				T[i][j] = min(T[0][j - 1], T[3 - i][j - 1], NMAX);
			else
				T[i][j] = NMAX;

	printf("%d", min(T[0][n - 1], T[1][n - 1], T[2][n - 1]));

	return 0;
}


#include <stdio.h>
        int main () {
            int w;
            scanf("%d",&w);
            if ((w%2 ==0)&&(w!=0)&&(w!=2))
                printf("YES");
            else
                printf ("NO");
            return 0;

}


#include<stdio.h>

int main(){

    int n;
    scanf("%d", &n);
    if(n <= 2 || n%2 != 0){
        printf("NO\n");
    }
    else{
        printf("YES\n");
    }

    return 0;
}


#include<stdio.h>
#include<ctype.h>
#include<string.h>

char arr[105];
int main    ()
{
    //freopen("input.txt","r",stdin);
    int i,j,k,l;
    gets(arr);
    l=strlen(arr);
    for(i=l-1;i>=0;i--)
    {
        if(arr[i]=='A'||arr[i]=='E'||arr[i]=='I'||arr[i]=='O'||arr[i]=='U'||arr[i]=='a'||arr[i]=='e'||arr[i]=='i'||arr[i]=='o'||arr[i]=='u'||arr[i]=='Y'||arr[i]=='y')
        {
            printf("YES");
            break;
        }
        else if((arr[i]>='B'&&arr[i]<='Z')||(arr[i]>='b'&&arr[i]<='z'))
        {
            printf("NO");
            break;
        }
    }
    return 0;
}


#include<stdio.h>
int main()
{
    char s[102];
    char r,x;
    int l;
    gets(s);

    l=strlen(s);
    F:
        l--;
    x=s[l];
    r= tolower(x);
    if(r>='a' && r<='z')
{

    if(r== 'a' ||r== 'e' ||r== 'i' ||r== 'o' ||r== 'u' ||r== 'y' )
        printf("YES\n");

        else
            printf("NO\n");}
            else goto F;
}


#include <stdlib.h>
#include <stdio.h>

#define PLATE 42

unsigned char get_num(void)
{
	char tmp[8];
	fgets(tmp,8,stdin);
	return atoi(tmp);
}

int main(void) {
	unsigned char n;
	n=get_num();
	char str[n];
	unsigned char jmp_lim = n-4;
	unsigned char jump_size;
	scanf("%s",str);
	//printf("%s",str);
	for (jump_size=1; jump_size <= jmp_lim; jump_size++)
	{
		//printf("jmp_size=%d\n",jump_size);
		unsigned char start_lim = n - jump_size;
		unsigned char start_dot;
		for ( start_dot=0; start_dot < start_lim; start_dot++ )
		{
			if ( str[start_dot]==PLATE )
			{
				//printf("start_dot=%d\n",start_dot);
				unsigned char dot=start_dot;
				unsigned char yes=0;
				while ( dot+jump_size <= n)
				{
					dot=dot+jump_size;
					if (str[dot]==PLATE) { yes++; } else { break; }
				}
				if (yes==4) {	printf("yes"); return 0;	}
			}
		}
		//printf("y=%d\n",yes);

	}

printf("no");
return 0;
}


#include <stdio.h>

int main()
{
    int n, sum = 0, i;
    scanf("%d", &n);
    for(i = 1; i < (2 * n); i+=2) {
    	sum += i;
    }
    sum *= 2;
    sum -= (2 * n) - 1;
    printf("%d", sum);
    return 0;
}


 #include<stdio.h>
int main()
{
    int n, sum=0;

    int x, y;
    scanf("%d",&n);
    if(n==1)
    {
        sum=n;
        printf("%d", sum);
    }

    else
    {
        sum = 1+2*n*(n-1);
        printf(" %d ", sum);
    }
    return 0;
}


#include<stdio.h>
int main()
{
	int n,n1,n2,n3,x1,x2,x3;
	scanf("%d",&n);
	scanf("%d%d",&n1,&x1);
	scanf("%d%d",&n2,&x2);
	scanf("%d%d",&n3,&x3);
	int a1=x1,a2=x2,a3=x3,sum;
	sum=a1+a2+a3;
	int dif=sum-n;
	if(x3-n3>=dif && dif>0)
		a3=a3-dif;
	else if(dif>0)
	{
		a3=n3;
		dif=a1+a2+a3-n;
		if(dif<=x2-n2 && dif>0)
			a2=a2-dif;
		else if(dif>0)
		{
			a2=n2;
			dif=a1+a2+a3-n;
			a1=a1-dif;
		}
	}
	printf("%d %d %d\n",a1,a2,a3);
	return 0;
}


#include <stdio.h>

int minimum (int a, int b)
{
	return a < b ? a : b;
}

int main()
{
	int n, min[3], max[3], d[3], cnt = 0, i;

	scanf ("%d", &n);
	for (i = 0; i < 3; i++) {
		scanf ("%d %d", &min[i], &max[i]);
		d[i] = min[i];
		cnt += d[i];
	}

	for (i = 0; i < n; i++) {
		if (cnt < n) {
			int r = minimum (max[i] - min[i], n - cnt);
			d[i] += r;
			cnt += r;
		}
	}

	printf ("%d %d %d", d[0], d[1], d[2]);

	return 0;
}


/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS
Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <stdio.h>
#include <string.h>
int main()
{
    char str[50],S[50];

    int mid;
    scanf("%s",str);
    int len=strlen(str);
    if(len%2==0)
    mid=len/2;
    else
    mid=(len+1)/2;

    mid=mid-1;
    int j=1;
    S[0]=str[mid];

    for(int i=1;i<len;i++)
    {

        if(i%2==0)
        {
            S[i]=str[mid-j];
            j++;
        }
        else
        S[i]=str[mid+j];
    }

    char array[50];
    for(int i=0;i<len;i++)
    printf("%c",S[i]);
    return 0;
}


#include<stdio.h>
int main()
{
    int minimum(int number1,int number2);
    int a,b,c,smallest,x,y,z;
    scanf("%d %d %d",&x,&y,&z);
    a=x/1;
    b=y/2;
    c=z/4;
    smallest=minimum((minimum(a,b)),c);
    printf("%d",smallest*7);
}
int minimum(int number1,int number2)
{
    int d;
    d=(number1>number2)?number2:number1;
    return d;
}


#include<stdio.h>
int main(){
    int a,b,c,sum=0;
scanf("%d%d%d",&a,&b,&c);

while(1){

if(a>=1&&b>=2&&c>=4){
            int  e=a-1;
    int f=b-2;
    int g=c-4;
a=e;
b=f;
c=g;
   sum=sum+1+2+4;

    if(a<1||b<2||c<4){
          printf("%d",sum);
        break;
    }

}
else{

    printf("0");
    break;
}

}

return 0;
}


#include<stdio.h>
#include<math.h>
int main(){
    int n;
    long long int ans;
    while(scanf("%d",&n)==1){
        if(n==0){
            ans=1;
        }
        else if((n%4==0)){
            ans=6;
        }
        else if(n%2==0){
            ans=4;
        }
        else if(((n-1)%4==0)){
            ans=8;
        }
        else if(((n-1)%2)==0){
            ans=2;
        }
        printf("%d\n",ans);
    }
    return 0;
}


#include<stdio.h>
int main()
{
	int a,m;
	scanf("%d %d",&a,&m);
	while(m%2==0)
		m/=2;
	if(a%m==0)
		printf("Yes\n");
	else
		printf("No\n");
	return 0;
}


#include<stdio.h>
int main()
{
    int n,i,m;
    scanf("%d%d",&n,&m);
    for(i=0;i<100000;i++){
        n=(n+n%m)%m;
        if(!n) break;
    }

    if(!n)
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}


#include<stdio.h>
int sum (int n)
{
   if(n==0)
    return 0;

return ((n%10)+sum(n/10));
}
int main()
{
    int a,b;
    scanf("%d",&a);
    if(a<5){
        printf("4\n");
    }
    else if(a>4 && a<10 && a%4==0)
    {
       printf("%d\n",a);
    }

    else
    {

        while(1)
        {
            b=sum(a);
            if(b%4==0)
            {
                printf("%d\n",a);
                break;
            }
            else
            {
                a=a+1;
            }

        }

    }
    return 0;

}


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

int main()
{
 int x,y;
 int arr[4];
 scanf("%d",&x);
 y=x;
 int z=10;
 int sum=0;
 for(int i=0;i<=8;i++)
 {
  for(int j=0;j<=8;j++)
  {
   sum=sum+(y%10);
    y=x/z;
  z=z*10;
  }
  if(sum%4==0)
  {
   printf("%d",x);
   break;
  }
  else{
  x=x+1;
  y=x;
  z=10;
  sum=0;
  }
 }

}


#include <stdio.h>

int main(){
    int n, s, i, max = 0 ,sum = 0, t;
    scanf("%d %d", &n, &s);
    for(i=0; i<n; i++){
        scanf("%d", &t);
        sum += t;
        if(t > max)max = t;
    }
    if(sum-max <= s)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}


#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    int n,s,i,a,max_a=1;
    long long int sum = 0;
    scanf("%d %d",&n,&s);
    for(i=1;i<=n;i++){
        scanf("%d",&a);
        sum = sum + a;
        if(a>=max_a) max_a=a;
    }
    if((sum-max_a)<=s)printf("YES");
    else printf("NO");

    return 0;
}


#include<stdio.h>
#include<stdlib.h>
#define modd 1000000007
long long fast_expo(long long a,long long b)
{
	long long res=1;
	while(b>0)
	{
		if(b&1)
			res=(res*a)%modd;
		a=(a*a)%modd;
		b=b>>1;
	}
	return res;
}
int main()
{
	long long fact[200001];
	int i,n;
	fact[0]=1;
	for(i=1;i<200001;i++)
		fact[i]=(fact[i-1]*i)%modd;
	while(scanf("%d",&n)==1)
	{
		long long ans=(fact[(n<<1)-1]*((fast_expo(fact[n],modd-2)*fast_expo(fact[n-1],modd-2))%modd))%modd;
		ans=(ans<<1)-n;
		if(ans<0)
			printf("%I64d\n",(ans+modd)%modd);
		else printf("%I64d\n",ans%modd);
	}
	return 0;
}


#include<stdio.h>
int main()
{
    int c,d,m,k,n;

    scanf("%d %d %d %d %d",&c,&d,&n,&m,&k);
    int z;
    if((m*n-k)>0)
    z=m*n-k;
    else
    z=0;
    float s=n*1.0/c;
    float a=1.0/d;
    int ans=0,t;
    if(a>=s)
    {
        printf("%d",d*(z));
    }

    else
    {
        t=z%n;
        if(d*t<c)
        ans+=d*t;
        else
        ans+=c;
        ans+=(z/n)*c;
        printf("%d",ans);
    }

    return 0;
}


/*
	���� ���� ���� ������ c ������� ����
	���� ���� ������ ����ڵ��� �����ø���Ʈ�� ó�� n������̴�.
	�߰����Ŷ������ ������ d ������� �����Ǿ��ִ�. �߰������� ����ڴ� �Ѹ��̴�.
	�Դٰ� ���� ���̳����� k����ڵ��� ���� ����
	���̳��� �ʴ�ȴ�.
	 ��������� �� n*m ������� ���̳��� ���߸� �Ѵ�.
	����� ���Ŷ��带 ������ �ʿ䰡 �ִ�.
	�� n*m ����� ���̳��� �����Ѵ�. ��� ���忡�� ���� �������� �� ���� ��������
	����Ǿ��Ѵ�.

*/

#include <stdio.h>

int main()
{
	int c,d;			// c : �������Ŷ��� ������ ������ d : �߰����Ŷ����� ������ ������
	int n,m;			// n : �������Ŷ����� ����ڵ�  m : ??? n*m
	int k;			// ���� ���̳��� k����ڵ�

	int Ans;
	int Ans2;
	int Ans3;

	int iNum1;
	int iNum2;

	int iMin=100000000;

	int iCnt1;
	int iCnt2;

	scanf("%d %d", &c, &d);
	scanf("%d %d", &n, &m);
	scanf("%d", &k);

	Ans = n*m - k;

	if(Ans == 0)
	{
		printf("0\n");
	}
	else
	{
		for(iCnt1 = 0; ; ++iCnt1)
		{
			iNum1 = iCnt1*n;
			iNum2 = Ans - iNum1;
			if(iNum2 >= 0)
				Ans2 = iCnt1*c + iNum2*d;
			else
				Ans2 = iCnt1*c;
			if(iMin > Ans2)
			{
				iMin = Ans2;

			}
			if(iNum2 < 0) break;
		}
		printf("%d\n",iMin);
	}

	return 0;
}


/*			                       ____COMPETITIVE CODING____                                                          */

//--Header Files--

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
#include <limits.h>
#include <time.h>

//--Macros--

#define N 200001
#define R 100000007
#define MAX(a,b) ((a)>(b)?(a):(b))
#define MIN(a,b) ((a)<(b)?(a):(b))

//--Structures--

//--Comparator Functions--

int comp(const void *a, const void *b)
{
	return (*(int *)a - *(int *)b);
}
int comp_desc(const void *a, const void *b)
{
	return (*(int *)b - *(int *)a);
}

//--Function Declarations--

// void qsort(array name, size of array, size of each element, comp);
// int* bsearch(address of search element, array name, size of array, size of each element, comp);
int rmdup(int [], int); // int rmDup(array, size of array);
int gcd(int, int); // int gcd(first number, second number);

//--Useful Variables--

int i = 0, j = 0, k = 0, flag = 1, count = 0, temp, pos = 0, test_case, mx = 0, mn = INT_MAX;
long long sum = 0, product = 1;

int main()
{
	//clock_t tStart = clock();
	scanf("%d", &k);
	int a[10002], num = 1, digit, no[10], length;
	while(flag)
	{
		temp = num;
		j = 0;
		while(temp)
		{
			digit = temp % 10;
			temp /= 10;
			no[j++] = digit;
		}
		length = j;
		for(i = length - 1, j = 0; i > j; i--, j++)
		{
			temp = no[i];
			no[i] = no[j];
			no[j] = temp;
		}
		for(i = 0; i < length; i++)
		{
			a[pos++] = no[i];
			if(pos == 10000)
			{
				flag = 0;
				break;
			}
		}
		num++;
	}
	/*for(i = 0; i < 10000; i++)
		printf("%d", a[i]);
	printf("\n");*/
	printf("%d\n", a[k-1]);
	//printf("%lf seconds.\n", (clock() - tStart)/CLOCKS_PER_SEC);
	return 0;
}

int rmdup(int a[], int n)
{
	if(n == 0 || n == 1)
		return n;
	int j = 0;
	for(i = 0; i < n - 1; i++)
	{
		if(a[i] != a[i+1])
		{
			a[j++] = a[i];
		}
	}
	a[j++] = a[n-1];
	return j;
}

int gcd(int x, int y)
{
	if(y == 0)
	{
		return x;
	}
	else
	{
		return gcd(y, x % y);
	}
}