Problem:
﻿Score: 100 points

Problem Statement

In AtCoder city, there are five antennas standing in a straight line. They are called Antenna A, B, C, D and E from west to east, and their coordinates are a, b, c, d and e, respectively.

Two antennas can communicate directly if the distance between them is k or less, and they cannot if the distance is greater than k.

Determine if there exists a pair of antennas that cannot communicate directly.

Here, assume that the distance between two antennas at coordinates p and q (p < q) is q - p.

Constraints

a, b, c, d, e and k are integers between 0 and 123 (inclusive).

a < b < c < d < e

Input

Input is given from Standard Input in the following format:

a
b
c
d
e
k

Output

Print :( if there exists a pair of antennas that cannot communicate directly, and print Yay! if there is no such pair.

Sample Input 1

1
2
4
8
9
15

Sample Output 1

Yay!

In this case, there is no pair of antennas that cannot communicate directly, because:

the distance between A and B is 2 - 1 = 1

the distance between A and C is 4 - 1 = 3

the distance between A and D is 8 - 1 = 7

the distance between A and E is 9 - 1 = 8

the distance between B and C is 4 - 2 = 2

the distance between B and D is 8 - 2 = 6

the distance between B and E is 9 - 2 = 7

the distance between C and D is 8 - 4 = 4

the distance between C and E is 9 - 4 = 5

the distance between D and E is 9 - 8 = 1

and none of them is greater than 15. Thus, the correct output is Yay!.

Sample Input 2

15
18
26
35
36
18

Sample Output 2

:(

In this case, the distance between antennas A and D is 35 - 15 = 20 and exceeds 18, so they cannot communicate directly.
Thus, the correct output is :(.

Solution in Java7 (OpenJDK 1.7.0) (judge verdict: Wrong Answer)

import java.util.*;
import java.math.BigDecimal;
public class Main {

	public static void main (String[] args){
	
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		int b = sc.nextInt();
		int c = sc.nextInt();
		int d = sc.nextInt();
		int e = sc.nextInt();
		int k = sc.nextInt();
		
		HashMap<String, Integer> list1 = new HashMap<String, Integer>();
		HashMap<String, Integer> list2 = new HashMap<String, Integer>();
		
		list1.put("a", a);
		list1.put("b", b);
		list1.put("c", c);
		list1.put("d", d);
		list1.put("e", e);

		list2.put("a", a);
		list2.put("b", b);
		list2.put("c", c);
		list2.put("d", d);
		list2.put("e", e);
		
		boolean result = true;
        for(Map.Entry<String, Integer> e1 : list1.entrySet()) {
            final String key1 = e1.getKey();
        	final Integer value1 = e1.getValue();
        	
        	for (Map.Entry<String, Integer> e2 : list2.entrySet()) {
            	final String key2 = e2.getKey();
        		final Integer value2 = e2.getValue();
        		
        		if (key1.equals(key2)) {
        			continue;
        		}
        		
        		if (((BigDecimal.valueOf(value1)).abs().subtract((BigDecimal.valueOf(value2)).abs())).compareTo(BigDecimal.valueOf(k)) > 0) {
        			result = false;
        		}
        		
        	}
        }
		
		if (result) {
			System.out.println("Yey!");
		} else {
			System.out.println(":(");
		}
	}

}