import java.util.*;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	}
} import java.util.*; util.* java public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

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

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	} main {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int M = sc.nextInt(); M sc.nextInt() sc.nextInt sc int X = sc.nextInt(); X sc.nextInt() sc.nextInt sc int Ai[] = new int[M]; Ai new int[M] M int i; i for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		} i = 0; i = 0 i 0 i < M i M i++ i++ i {
			Ai[i] = sc.nextInt();

		} {
			Ai[i] = sc.nextInt();

		} Ai[i] = sc.nextInt() Ai[i] Ai i sc.nextInt() sc.nextInt sc if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		} X == 1 || N - X == 1 X == 1 X 1 N - X == 1 N - X N X 1 {
			// 最短だったらおしまい
			System.out.println("0");

		} System.out.println("0") System.out.println System.out System System.out "0" {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		} int cost_l = 0; cost_l 0 for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			} i = 0; i = 0 i 0 i < X i X i++ i++ i {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			} {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			} for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				} int n = 0; int n = 0; n 0 n < M n M n++ n++ n {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				} {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				} if (i == Ai[n]) {
						cost_l++;
						break;
					} i == Ai[n] i Ai[n] Ai n {
						cost_l++;
						break;
					} cost_l++ cost_l break; int cost_r = 0; cost_r 0 for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			} i = X + 1; i = X + 1 i X + 1 X 1 i < N i N i++ i++ i {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			} {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			} for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				} int n = 0; int n = 0; n 0 n < M n M n++ n++ n {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				} {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				} if (i == Ai[n]) {
						cost_r++;
						break;
					} i == Ai[n] i Ai[n] Ai n {
						cost_r++;
						break;
					} cost_r++ cost_r break; if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			} cost_r < cost_l cost_r cost_l {

				System.out.println(cost_r);
			} System.out.println(cost_r) System.out.println System.out System System.out cost_r {
				System.out.println(cost_l);
			} System.out.println(cost_l) System.out.println System.out System System.out cost_l String[] args args public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	}
} public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	}
} Main
import java.util.*;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int X = sc.nextInt();

		int Ai[] = new int[M];

		int i;
		for (i = 0; i < M; i++) {
			Ai[i] = sc.nextInt();

		}

		if (X == 1 || N - X == 1) {
			// 最短だったらおしまい
			System.out.println("0");

		} else {

			int cost_l = 0;
			// 左側チェック
			for (i = 0; i < X; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_l++;
						break;
					}
				}
			}

			int cost_r = 0;
			// 右側チェック
			for (i = X + 1; i < N; i++) {

				for (int n = 0; n < M; n++) {
					// 料金所は小さい順ではいっているけれど・・・全部比べちゃう。
					if (i == Ai[n]) {
						cost_r++;
						break;
					}
				}
			}

			if (cost_r < cost_l) {

				System.out.println(cost_r);
			} else {
				System.out.println(cost_l);
			}
		}

	}
}
