import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    }
} Main public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    } main {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    } Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int k=sc.nextInt(); k sc.nextInt() sc.nextInt sc int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int[]a=new int[n]; a new int[n] n int b[]=new int[n]; b new int[n] n a[0]=sc.nextInt() a[0] a 0 sc.nextInt() sc.nextInt sc int max=a[0]; max a[0] a 0 for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        } int i=1; int i=1; i 1 i<n i n i++ i++ i {
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        } {
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        } a[i]=sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc max=Math.max(a[i]-a[i-1],max) max Math.max(a[i]-a[i-1],max) Math.max Math a[i]-a[i-1] a[i] a i a[i-1] a i-1 i 1 max max=Math.max(a[0]+(k-a[n-1]),max) max Math.max(a[0]+(k-a[n-1]),max) Math.max Math a[0]+(k-a[n-1]) a[0] a 0 (k-a[n-1]) k a[n-1] a n-1 n 1 max System.out.println(k-max) System.out.println System.out System System.out k-max k max String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int k=sc.nextInt();
        int n=sc.nextInt();
        int[]a=new int[n];
        int b[]=new int[n];
        a[0]=sc.nextInt();
        int max=a[0];
        for(int i=1;i<n;i++){
            a[i]=sc.nextInt();
            max=Math.max(a[i]-a[i-1],max);
        }
        max=Math.max(a[0]+(k-a[n-1]),max);
        System.out.println(k-max);
    }
}
