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 Scala (2.11.7) (judge verdict: Accepted)

import AtCoder._

object Main extends App
  {
    val a, b, c, d, e, k = Int.scan
    (e.value - a.value > k.value).cond(":(", "Yay!").println
  }

object AtCoder
  {
    val scanner = new java.util.Scanner(System.in)

    trait Read[A]
      {
        def read(string :String) :A
        def scan :A = this.read(scanner.next)
      }

    trait Write
      extends Any
      {
        def write :String
        def print :Unit = write.print
        def println :Unit = write.println
      }

    implicit class Bool(val value :scala.Boolean)
      extends AnyVal
      {
        def cond[A](t :A, f :A) :A = if(this.value) t else f
        def yes_no :String = this.cond("yes", "no")
        def Yes_No :String = this.cond("Yes", "No")
        def YES_NO :String = this.cond("YES", "NO")
      }

    object Int
      extends Object
      with Read[Int]
      {
        def read(string :String) :Int = string.value.toInt
      }

    implicit class Int(val value :scala.Long)
      extends AnyVal
      with Write
      {
        def write = this.value.toString
        def +(a :Int) :Int = this.value + a.value
        def -(a :Int) :Int = this.value - a.value
        def *(a :Int) :Int = this.value * a.value
        def /(a :Int) :Int = this.value / a.value
        def %(a :Int) :Int = this.value % a.value
        def <(a :Int) :Bool = this.value < a.value
        def >(a :Int) :Bool = this.value > a.value
        def <=(a :Int) :Bool = this.value <= a.value
        def >=(a :Int) :Bool = this.value >= a.value
        def ==(a :Int) :Bool = this.value == a.value
        def !=(a :Int) :Bool = this.value != a.value
      }

    implicit class Float(val value :scala.Double)
      extends AnyVal
      with Write
      {
        def write = this.value.toString
      }

    implicit class String(val value :java.lang.String)
      extends AnyVal
      with Write
      {
        def write = this
        override def print = System.out.print(value)
        override def println = System.out.println(value)
      }
  }