Problem:
Score : 100 points

Problem Statement

An elementary school student Takahashi has come to a variety store.

He has two coins, A-yen and B-yen coins (yen is the currency of Japan), and wants to buy a toy that costs C yen. Can he buy it?

Note that he lives in Takahashi Kingdom, and may have coins that do not exist in Japan.

Constraints

All input values are integers.

1 \leq A, B \leq 500

1 \leq C \leq 1000

Input

Input is given from Standard Input in the following format:

A B C

Output

If Takahashi can buy the toy, print Yes; if he cannot, print No.

Sample Input 1

50 100 120

Sample Output 1

Yes

He has 50 + 100 = 150 yen, so he can buy the 120-yen toy.

Sample Input 2

500 100 1000

Sample Output 2

No

He has 500 + 100 = 600 yen, but he cannot buy the 1000-yen toy.

Sample Input 3

19 123 143

Sample Output 3

No

There are 19-yen and 123-yen coins in Takahashi Kingdom, which are rather hard to use.

Sample Input 4

19 123 142

Sample Output 4

Yes

Solution in C (Clang 3.8.0) (judge verdict: Wrong Answer)

// ConsoleApplication18.cpp: 定义控制台应用程序的入口点。
//

#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	int  n;
	int *a, *b, *c;
	int d=0;//d为最后的答案
	int math=0;//为计量数
	int i,j;//循环变量
	int t=1;//2进制的最高位
	int y = 0;

	scanf("%d",&n);
	a = (int *)malloc(sizeof(int)*n);
	b= (int *)malloc(sizeof(int)*n);

	for (i = 0; i < n; i++)
	{
		scanf("%d",a+i);
	}
	for (i = 0; i < n; i++)
	{
		scanf("%d", b+ i);
	}
	c= (int *)malloc(sizeof(int)*n*n);
	for (i = 0; i < n*n; i++)
	{
		c[i] = a[i / n]+b[i%n];
	}
	for (i = 0; i < n*n; i++)
	{
		for (j = 1; j < 28; j++)
		{
			if (pow(2, j) <=c[i])
				y= j;
		}
		if (t < y)
			t = y;


		/*if (c[i] == 0)
			y = 1;
		else
			y = c[i];
		if (t< (int) log(y)+1)
		{
			t = (int)log (y) + 1 ;
		}*/
	}
	
	for (i = 1; i <= t; i++)
	{
		math = 0;
		for (j = 0; j < n*n; j++)
		{
			if (c[j] %(int) (pow(2, i) )>= pow(2, i - 1))
				math++;
		}
		d = d + (int)pow(2, i - 1)*(math % 2);
	}

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