
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	}

	private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	}

	private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>();

	private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}
} import java.util.HashMap; HashMap java.util import java.util.Map; Map java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	}

	private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	}

	private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>();

	private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}
} Main private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>(); bWkMap new HashMap<Integer, Integer>() public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	} main {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	} new Main().solveB2() new Main().solveB2 new Main() String[] args args private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} solveA {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} Scanner scanner = null; scanner null int numN = 0; numN 0 int numK = 0; numK 0 try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		} {
			if (scanner != null) {
				scanner.close();
			}
		} if (scanner != null) {
				scanner.close();
			} scanner != null scanner null {
				scanner.close();
			} scanner.close() scanner.close scanner {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} scanner = new Scanner(System.in) scanner new Scanner(System.in) numN = scanner.nextInt() numN scanner.nextInt() scanner.nextInt scanner numK = scanner.nextInt() numK scanner.nextInt() scanner.nextInt scanner if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			} numN % numK == 0 numN % numK numN numK 0 {
				System.out.println(0);
			} System.out.println(0) System.out.println System.out System System.out 0 {
				System.out.println(1);
			} System.out.println(1) System.out.println System.out System System.out 1 private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	} isPurchase {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	} if (numN <= 0) {
			return numN;
		} numN <= 0 numN 0 {
			return numN;
		} return numN; numN if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		} bWkMap.get(numN) != null bWkMap.get(numN) bWkMap.get bWkMap numN null {
			return bWkMap.get(numN);
		} return bWkMap.get(numN); bWkMap.get(numN) bWkMap.get bWkMap numN int val1 = isPurchase(numN - 7, 4); val1 isPurchase(numN - 7, 4) isPurchase numN - 7 numN 7 4 int val2 = isPurchase(numN - 7, 7); val2 isPurchase(numN - 7, 7) isPurchase numN - 7 numN 7 7 int val3 = isPurchase(numN - 4, 4); val3 isPurchase(numN - 4, 4) isPurchase numN - 4 numN 4 4 int val4 = isPurchase(numN - 4, 7); val4 isPurchase(numN - 4, 7) isPurchase numN - 4 numN 4 7 val1 = val1 < 0 ? 999999999 : val1 val1 val1 < 0 ? 999999999 : val1 val1 < 0 val1 0 999999999 val1 val2 = val2 < 0 ? 999999999 : val2 val2 val2 < 0 ? 999999999 : val2 val2 < 0 val2 0 999999999 val2 val3 = val3 < 0 ? 999999999 : val3 val3 val3 < 0 ? 999999999 : val3 val3 < 0 val3 0 999999999 val3 val4 = val4 < 0 ? 999999999 : val4 val4 val4 < 0 ? 999999999 : val4 val4 < 0 val4 0 999999999 val4 int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4)); wk Math.min(Math.min(val1, val2), Math.min(val3, val4)) Math.min Math Math.min(val1, val2) Math.min Math val1 val2 Math.min(val3, val4) Math.min Math val3 val4 bWkMap.put(numN, wk) bWkMap.put bWkMap numN wk return wk; wk int numN numN int num num private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} solveB {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} Scanner scanner = null; scanner null int numN = 0; numN 0 try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		} {
			if (scanner != null) {
				scanner.close();
			}
		} if (scanner != null) {
				scanner.close();
			} scanner != null scanner null {
				scanner.close();
			} scanner.close() scanner.close scanner {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} scanner = new Scanner(System.in) scanner new Scanner(System.in) numN = scanner.nextInt() numN scanner.nextInt() scanner.nextInt scanner int val = isPurchase(numN, 0); val isPurchase(numN, 0) isPurchase numN 0 System.out.println(val == 0 ? "Yes" : "No") System.out.println System.out System System.out val == 0 ? "Yes" : "No" val == 0 val 0 "Yes" "No" private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} solveB2 {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} Scanner scanner = null; scanner null int numN = 0; numN 0 try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		} {
			if (scanner != null) {
				scanner.close();
			}
		} if (scanner != null) {
				scanner.close();
			} scanner != null scanner null {
				scanner.close();
			} scanner.close() scanner.close scanner {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} scanner = new Scanner(System.in) scanner new Scanner(System.in) numN = scanner.nextInt() numN scanner.nextInt() scanner.nextInt scanner for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			} int i = 0; int i = 0; i 0 i < 25 i 25 i++ i++ i {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			} {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			} for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				} int j = 0; int j = 0; j 0 j < 15 j 15 j++ j++ j {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				} {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				} if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					} 4 * i + 7 * j == numN 4 * i + 7 * j 4 * i 4 i 7 * j 7 j numN {
						System.out.println("Yes");
						return;
					} System.out.println("Yes") System.out.println System.out System System.out "Yes" return; System.out.println("No") System.out.println System.out System System.out "No" private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} solveC {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} Scanner scanner = null; scanner null int numN = 0; numN 0 try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		} {
			if (scanner != null) {
				scanner.close();
			}
		} if (scanner != null) {
				scanner.close();
			} scanner != null scanner null {
				scanner.close();
			} scanner.close() scanner.close scanner {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} scanner = new Scanner(System.in) scanner new Scanner(System.in) numN = scanner.nextInt() numN scanner.nextInt() scanner.nextInt scanner long wk = 0; wk 0 while (wk == numN) {

			} wk == numN wk numN {

			} System.out.println("") System.out.println System.out System System.out "" private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} solveD {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	} Scanner scanner = null; scanner null int numN = 0; numN 0 int numK = 0; numK 0 int numS = 0; numS 0 try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		} {
			if (scanner != null) {
				scanner.close();
			}
		} if (scanner != null) {
				scanner.close();
			} scanner != null scanner null {
				scanner.close();
			} scanner.close() scanner.close scanner {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} scanner = new Scanner(System.in) scanner new Scanner(System.in) numN = scanner.nextInt() numN scanner.nextInt() scanner.nextInt scanner System.out.println("") System.out.println System.out System System.out "" public class Main {

	public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	}

	private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	}

	private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>();

	private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}
} public class Main {

	public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	}

	private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	}

	private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>();

	private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}
} Main

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		//		new Main().solveA();
		//		new Main().solveB();
		new Main().solveB2();
		// new Main().solveC();
		// new Main().solveD();
	}

	private void solveA() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();
			numK = scanner.nextInt();

			if (numN % numK == 0) {
				System.out.println(0);
			} else {
				System.out.println(1);
			}

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private int isPurchase(int numN, int num) {

		if (numN <= 0) {
			return numN;
		}
		if (bWkMap.get(numN) != null) {
			return bWkMap.get(numN);
		}

		int val1 = isPurchase(numN - 7, 4);
		int val2 = isPurchase(numN - 7, 7);
		int val3 = isPurchase(numN - 4, 4);
		int val4 = isPurchase(numN - 4, 7);

		val1 = val1 < 0 ? 999999999 : val1;
		val2 = val2 < 0 ? 999999999 : val2;
		val3 = val3 < 0 ? 999999999 : val3;
		val4 = val4 < 0 ? 999999999 : val4;

		int wk = Math.min(Math.min(val1, val2), Math.min(val3, val4));

		bWkMap.put(numN, wk);
		return wk;
	}

	private Map<Integer, Integer> bWkMap = new HashMap<Integer, Integer>();

	private void solveB() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			int val = isPurchase(numN, 0);

			System.out.println(val == 0 ? "Yes" : "No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveB2() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			for (int i = 0; i < 25; i++) {
				for (int j = 0; j < 15; j++) {
					if (4 * i + 7 * j == numN) {
						System.out.println("Yes");
						return;
					}
				}
			}
			System.out.println("No");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveC() {
		Scanner scanner = null;
		int numN = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			long wk = 0;
			while (wk == numN) {

			}

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}

	private void solveD() {
		Scanner scanner = null;
		int numN = 0;
		int numK = 0;
		int numS = 0;

		try {
			scanner = new Scanner(System.in);
			numN = scanner.nextInt();

			System.out.println("");

		} finally {
			if (scanner != null) {
				scanner.close();
			}
		}
	}
}