import java.util.*;

public class Main{
    public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
    int k = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  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 = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  System.out.println(k - max);
    }
      
      
      
} Main public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
    int k = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  System.out.println(k - max);
    } main {
	Scanner sc = new Scanner(System.in);
    int k = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  System.out.println(k - max);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int k = Integer.parseInt(sc.next()); k Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int[] a = new int[n]; a new int[n] n for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
      a[i] = Integer.parseInt(sc.next());
    } {
      a[i] = Integer.parseInt(sc.next());
    } a[i] = Integer.parseInt(sc.next()) a[i] a i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc Arrays.sort(a) Arrays.sort Arrays a int max = 0; max 0 for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    } int i = 0 ; int i = 0 ; i 0 i < n i n i++ i++ i {
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    } {
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    } int meter = 0; meter 0 if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]); i != n - 1 i n - 1 n 1 meter = Math.abs(a[i] - a[i + 1]) meter Math.abs(a[i] - a[i + 1]) Math.abs Math a[i] - a[i + 1] a[i] a i a[i + 1] a i + 1 i 1 meter = k - Math.abs(a[i] - a[0]) meter k - Math.abs(a[i] - a[0]) k Math.abs(a[i] - a[0]) Math.abs Math a[i] - a[0] a[i] a i a[0] a 0 if(max < meter)
        max = meter; max < meter max meter max = meter max meter 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 = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  System.out.println(k - max);
    }
      
      
      
} public class Main{
    public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
    int k = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  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 = Integer.parseInt(sc.next());
    int n = Integer.parseInt(sc.next());
    int[] a = new int[n];
    for(int i = 0 ; i < n ; i++){
      a[i] = Integer.parseInt(sc.next());
    }
      Arrays.sort(a);
  int max = 0;
    for(int i = 0 ; i < n ; i++){
      int meter = 0;
      if(i != n - 1)
      meter = Math.abs(a[i] - a[i + 1]);
        else
          meter = k - Math.abs(a[i] - a[0]);
      if(max < meter)
        max = meter;
    }
  System.out.println(k - max);
    }
      
      
      
}