import java.util.*;
import java.math.*;

class Main{
public static void main(String args[]){
   Scanner sc = new Scanner(System.in);
   int k = sc.nextInt();
   int n = sc.nextInt();
   int array[] = new int[n+1];
   int ret = 0;
   int maxe = 0;
   for (int i=0;i<n;i++){    
    int temp = sc.nextInt();
    array[i] = temp;
   }
   array[n] = k+array[0];
   for (int i=0;i<n;i++){
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   }
   System.out.println(ret-maxe);
}
} import java.util.*; util.* java import java.math.*; math.* java class Main{
public static void main(String args[]){
   Scanner sc = new Scanner(System.in);
   int k = sc.nextInt();
   int n = sc.nextInt();
   int array[] = new int[n+1];
   int ret = 0;
   int maxe = 0;
   for (int i=0;i<n;i++){    
    int temp = sc.nextInt();
    array[i] = temp;
   }
   array[n] = k+array[0];
   for (int i=0;i<n;i++){
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   }
   System.out.println(ret-maxe);
}
} Main public static void main(String args[]){
   Scanner sc = new Scanner(System.in);
   int k = sc.nextInt();
   int n = sc.nextInt();
   int array[] = new int[n+1];
   int ret = 0;
   int maxe = 0;
   for (int i=0;i<n;i++){    
    int temp = sc.nextInt();
    array[i] = temp;
   }
   array[n] = k+array[0];
   for (int i=0;i<n;i++){
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   }
   System.out.println(ret-maxe);
} main {
   Scanner sc = new Scanner(System.in);
   int k = sc.nextInt();
   int n = sc.nextInt();
   int array[] = new int[n+1];
   int ret = 0;
   int maxe = 0;
   for (int i=0;i<n;i++){    
    int temp = sc.nextInt();
    array[i] = temp;
   }
   array[n] = k+array[0];
   for (int i=0;i<n;i++){
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   }
   System.out.println(ret-maxe);
} 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 array[] = new int[n+1]; array new int[n+1] n+1 n 1 int ret = 0; ret 0 int maxe = 0; maxe 0 for (int i=0;i<n;i++){    
    int temp = sc.nextInt();
    array[i] = temp;
   } int i=0; int i=0; i 0 i<n i n i++ i++ i {    
    int temp = sc.nextInt();
    array[i] = temp;
   } {    
    int temp = sc.nextInt();
    array[i] = temp;
   } int temp = sc.nextInt(); temp sc.nextInt() sc.nextInt sc array[i] = temp array[i] array i temp array[n] = k+array[0] array[n] array n k+array[0] k array[0] array 0 for (int i=0;i<n;i++){
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   } int i=0; int i=0; i 0 i<n i n i++ i++ i {
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   } {
     ret += array[i+1]-array[i];
     maxe = Math.max(maxe,array[i+1]-array[i]);
   } ret += array[i+1]-array[i] ret array[i+1]-array[i] array[i+1] array i+1 i 1 array[i] array i maxe = Math.max(maxe,array[i+1]-array[i]) maxe Math.max(maxe,array[i+1]-array[i]) Math.max Math maxe array[i+1]-array[i] array[i+1] array i+1 i 1 array[i] array i System.out.println(ret-maxe) System.out.println System.out System System.out ret-maxe ret maxe String args[] args
import java.util.*;
import java.math.*;

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