import java.util.Scanner;

public class Main {

	static int N;
	static boolean match;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	}

	static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	}
} import java.util.Scanner; Scanner java.util public class Main {

	static int N;
	static boolean match;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	}

	static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	}
} Main static int N; N static boolean match; match public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	} main {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) N = sc.nextInt() N sc.nextInt() sc.nextInt sc dfs(0, 0) dfs 0 0 System.out.println(match ? "Yes" : "No") System.out.println System.out System System.out match ? "Yes" : "No" match "Yes" "No" String[] args args static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	} dfs {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	} if (x * 4 + y * 7 > N)
			return; x * 4 + y * 7 > N x * 4 + y * 7 x * 4 x 4 y * 7 y 7 N return; if (x * 4 + y * 7 == N) {
			match = match || true;
		} x * 4 + y * 7 == N x * 4 + y * 7 x * 4 x 4 y * 7 y 7 N {
			match = match || true;
		} match = match || true match match || true match true dfs(x + 1, y) dfs x + 1 x 1 y dfs(x, y + 1) dfs x y + 1 y 1 int x x int y y public class Main {

	static int N;
	static boolean match;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	}

	static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	}
} public class Main {

	static int N;
	static boolean match;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	}

	static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	}
} Main
import java.util.Scanner;

public class Main {

	static int N;
	static boolean match;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		dfs(0, 0);
		System.out.println(match ? "Yes" : "No");
	}

	static void dfs(int x, int y) {
		if (x * 4 + y * 7 > N)
			return;
		if (x * 4 + y * 7 == N) {
			match = match || true;
		}
		dfs(x + 1, y);
		dfs(x, y + 1);
	}
}
