import java.util.Scanner;
public class Main {
	public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	}
} Main public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	} main {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	} Scanner n = new Scanner(System.in); n new Scanner(System.in) int K = n.nextInt(); K n.nextInt() n.nextInt n int N = n.nextInt(); N n.nextInt() n.nextInt n int[] intArray; intArray intArray = new int[N] intArray new int[N] N for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		} int i=0 ; int i=0 ; i 0 i<N i N i++ i++ i {
			int A = n.nextInt();
			intArray[i] = A;
		} {
			int A = n.nextInt();
			intArray[i] = A;
		} int A = n.nextInt(); A n.nextInt() n.nextInt n intArray[i] = A intArray[i] intArray i A int dis = 0; dis 0 int longDis = intArray[0] + (K - intArray[N-1]) ; longDis intArray[0] + (K - intArray[N-1]) intArray[0] intArray 0 (K - intArray[N-1]) K intArray[N-1] intArray N-1 N 1 for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		} int i=0 ; int i=0 ; i 0 i<N-1 i N-1 N 1 i++ i++ i {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		} {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		} dis = intArray[i+1] - intArray[i] dis intArray[i+1] - intArray[i] intArray[i+1] intArray i+1 i 1 intArray[i] intArray i if(dis >= longDis) {
				longDis = dis;
			} dis >= longDis dis longDis {
				longDis = dis;
			} longDis = dis longDis dis System.out.println(K - longDis) System.out.println System.out System System.out K - longDis K longDis String args[] args public class Main {
	public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	}
} public class Main {
	public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	}
} Main
import java.util.Scanner;
public class Main {
	public static void main(String args[]) {
		Scanner n = new Scanner(System.in);

		int K = n.nextInt();
		int N = n.nextInt();

		int[] intArray;
		intArray = new int[N];
		for(int i=0 ; i<N ; i++) {
			int A = n.nextInt();
			intArray[i] = A;
		}

		int dis = 0;
		int longDis = intArray[0] + (K - intArray[N-1]) ;

		for(int i=0 ; i<N-1 ; i++) {
			dis = intArray[i+1] - intArray[i];

			if(dis >= longDis) {
				longDis = dis;
			}
		}

		System.out.println(K - longDis);
	}
}
