

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {

	public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	}

	//***********************以下共通関数************************************************
	/**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	}

	/**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	}

	/**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	}

} import java.io.IOException; IOException java.io import java.util.ArrayList; ArrayList java.util import java.util.Arrays; Arrays java.util import java.util.HashMap; HashMap java.util import java.util.List; List java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util import java.util.stream.Collectors; Collectors java.util.stream import java.util.stream.Stream; Stream java.util.stream public class Main {

	public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	}

	//***********************以下共通関数************************************************
	/**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	}

	/**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	}

	/**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	}

} Main public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	} main {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	} Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int a a b b c c d d e e k; k a = scan.nextInt() a scan.nextInt() scan.nextInt scan b = scan.nextInt() b scan.nextInt() scan.nextInt scan c = scan.nextInt() c scan.nextInt() scan.nextInt scan d = scan.nextInt() d scan.nextInt() scan.nextInt scan e = scan.nextInt() e scan.nextInt() scan.nextInt scan k = scan.nextInt() k scan.nextInt() scan.nextInt scan int distanceA[] = new int[4]; distanceA new int[4] 4 int distanceB[] = new int[3]; distanceB new int[3] 3 int distanceC[] = new int[2]; distanceC new int[2] 2 int distanceD[] = new int[1]; distanceD new int[1] 1 distanceA[0] = b - a distanceA[0] distanceA 0 b - a b a distanceA[1] = c - a distanceA[1] distanceA 1 c - a c a distanceA[2] = d - a distanceA[2] distanceA 2 d - a d a distanceA[3] = e - a distanceA[3] distanceA 3 e - a e a distanceB[0] = c - b distanceB[0] distanceB 0 c - b c b distanceB[1] = d - b distanceB[1] distanceB 1 d - b d b distanceB[2] = e - b distanceB[2] distanceB 2 e - b e b distanceC[0] = d - c distanceC[0] distanceC 0 d - c d c distanceC[1] = e - c distanceC[1] distanceC 1 e - c e c distanceD[0] = e - d distanceD[0] distanceD 0 e - d e d for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		} int i = 0; int i = 0; i 0 i < 4 i 4 i++ i++ i {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		} {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		} if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			} distanceA[i] > k distanceA[i] distanceA i k {
				System.out.println(":(");
				return;
			} System.out.println(":(") System.out.println System.out System System.out ":(" return; for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		} int i = 0; int i = 0; i 0 i < 3 i 3 i++ i++ i {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		} {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		} if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			} distanceB[i] > k distanceB[i] distanceB i k {
				System.out.println(":(");
				return;
			} System.out.println(":(") System.out.println System.out System System.out ":(" return; for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		} int i = 0; int i = 0; i 0 i < 2 i 2 i++ i++ i {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		} {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		} if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			} distanceC[i] > k distanceC[i] distanceC i k {
				System.out.println(":(");
				return;
			} System.out.println(":(") System.out.println System.out System System.out ":(" return; if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		} distanceD[0] > k distanceD[0] distanceD 0 k {
			System.out.println(":(");
			return;
		} System.out.println(":(") System.out.println System.out System System.out ":(" return; System.out.println("Yay!") System.out.println System.out System System.out "Yay!" String[] args args /**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	} myReverse {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	} if (pStr.length() < 1) {
			return "";
		} pStr.length() < 1 pStr.length() pStr.length pStr 1 {
			return "";
		} return ""; "" StringBuffer sb = new StringBuffer(pStr); sb new StringBuffer(pStr) return sb.reverse().toString(); sb.reverse().toString() sb.reverse().toString sb.reverse() sb.reverse sb String pStr pStr /**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	} myMod {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	} long ret = 0; ret 0 ret = a % b ret a % b a b if (ret < 0) {
			ret += b;
		} ret < 0 ret 0 {
			ret += b;
		} ret += b ret b return ret; ret long a a long b b /**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	} myPowWithMod {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	} long ans = 1; ans 1 if (josu == 0)
			return 1; josu == 0 josu 0 return 1; 1 if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		} primeNumMod_0 == 0 primeNumMod_0 0 {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			} josu > 0 josu 0 {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			} if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				} josu % 2 == 0 josu % 2 josu 2 0 {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} kisu *= kisu kisu kisu josu = josu / 2 josu josu / 2 josu 2 {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				} ans *= kisu ans kisu josu-- josu return ans; ans {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		} kisu = myMod(kisu, primeNumMod_0) kisu myMod(kisu, primeNumMod_0) myMod kisu primeNumMod_0 while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			} josu > 0 josu 0 {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			} if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				} josu % 2 == 0 josu % 2 josu 2 0 {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} kisu *= myMod(kisu, primeNumMod_0) kisu myMod(kisu, primeNumMod_0) myMod kisu primeNumMod_0 josu = josu / 2 josu josu / 2 josu 2 {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				} ans *= myMod(kisu, primeNumMod_0) ans myMod(kisu, primeNumMod_0) myMod kisu primeNumMod_0 josu-- josu return myMod(ans, primeNumMod_0); myMod(ans, primeNumMod_0) myMod ans primeNumMod_0 long kisu kisu long josu josu long primeNumMod_0 primeNumMod_0 public class Main {

	public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	}

	//***********************以下共通関数************************************************
	/**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	}

	/**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	}

	/**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	}

} public class Main {

	public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	}

	//***********************以下共通関数************************************************
	/**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	}

	/**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	}

	/**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	}

} Main


import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main {

	public static void main(String[] args) throws IOException {

		Scanner scan = new Scanner(System.in);

		int a, b, c, d, e, k;
		a = scan.nextInt();
		b = scan.nextInt();
		c = scan.nextInt();
		d = scan.nextInt();
		e = scan.nextInt();
		k = scan.nextInt();

		int distanceA[] = new int[4];
		int distanceB[] = new int[3];
		int distanceC[] = new int[2];
		int distanceD[] = new int[1];

		distanceA[0] = b - a;
		distanceA[1] = c - a;
		distanceA[2] = d - a;
		distanceA[3] = e - a;

		distanceB[0] = c - b;
		distanceB[1] = d - b;
		distanceB[2] = e - b;

		distanceC[0] = d - c;
		distanceC[1] = e - c;

		distanceD[0] = e - d;

		for (int i = 0; i < 4; i++) {
			if (distanceA[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 3; i++) {
			if (distanceB[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		for (int i = 0; i < 2; i++) {
			if (distanceC[i] > k) {
				System.out.println(":(");
				return;
			}
		}

		if (distanceD[0] > k) {
			System.out.println(":(");
			return;
		}

		System.out.println("Yay!");

	}

	//***********************以下共通関数************************************************
	/**
	 * 文字列を反転して返す
	 * @param pStr 文字列
	 * @return 反転した文字列
	 */
	public static String myReverse(String pStr) {
		if (pStr.length() < 1) {
			return "";
		}

		StringBuffer sb = new StringBuffer(pStr);
		return sb.reverse().toString();
	}

	/**
	 * 余りを求める。
	 * @param a
	 * @param b
	 * @return 余り。余りがマイナスの時はプラスで返す。
	 */
	public static long myMod(long a, long b) {
		long ret = 0;

		ret = a % b;

		if (ret < 0) {
			ret += b;
		}

		return ret;
	}

	/**
	 * 乗数を求める ※mod対応
	 * @param kisu 基数
	 * @param josu 乗数
	 * @param primeNumMod_0 法 mod値 使わない場合は「0」
	 * @return
	 */
	public static long myPowWithMod(long kisu, long josu, long primeNumMod_0) {

		long ans = 1;

		//乗数が0の場合→1
		if (josu == 0)
			return 1;

		if (primeNumMod_0 == 0) {
			//modを使わないとき

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= kisu;
					josu = josu / 2;
				} else {
					//累乗が奇数の時
					ans *= kisu;
					josu--;
				}
			}

			return ans;

		} else {
			//modを使うとき

			//初めに桁を落とす
			kisu = myMod(kisu, primeNumMod_0);

			while (josu > 0) {

				if (josu % 2 == 0) {
					//累乗が偶数の時

					kisu *= myMod(kisu, primeNumMod_0);
					josu = josu / 2;

				} else {
					//累乗が奇数の時
					ans *= myMod(kisu, primeNumMod_0);
					josu--;

				}
			}

			return myMod(ans, primeNumMod_0);

		}

	}

}
