import java.util.*;

public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  }
} Main public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  } main {
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int k = scan.nextInt(); k scan.nextInt() scan.nextInt scan int n = scan.nextInt(); n scan.nextInt() scan.nextInt scan int g = 0; g 0 ArrayList<Integer> c = new ArrayList<Integer>(); c new ArrayList<Integer>() for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    } int i=0; int i=0; i 0 i<n i n i++ i++ i {
      g = scan.nextInt();
      c.add(g);
    } {
      g = scan.nextInt();
      c.add(g);
    } g = scan.nextInt() g scan.nextInt() scan.nextInt scan c.add(g) c.add c g ArrayList<Integer> a = new ArrayList<Integer>(); a new ArrayList<Integer>() ArrayList<Integer> b = new ArrayList<Integer>(); b new ArrayList<Integer>() for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    } int j=0; int j=0; j 0 j<n j n j++ j++ j {
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    } {
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    } if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      } j == 0 j 0 {
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      } a.add(c.get(n-1) - c.get(0)) a.add a c.get(n-1) - c.get(0) c.get(n-1) c.get c n-1 n 1 c.get(0) c.get c 0 b.add(k - c.get(1) + c.get(0)) b.add b k - c.get(1) + c.get(0) k - c.get(1) k c.get(1) c.get c 1 c.get(0) c.get c 0 continue; if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      } j == n-1 j n-1 n 1 {
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      } a.add(k-c.get(n-1)+c.get(n-2)) a.add a k-c.get(n-1)+c.get(n-2) k-c.get(n-1) k c.get(n-1) c.get c n-1 n 1 c.get(n-2) c.get c n-2 n 2 b.add(c.get(n-1) - c.get(0)) b.add b c.get(n-1) - c.get(0) c.get(n-1) c.get c n-1 n 1 c.get(0) c.get c 0 continue; a.add(k-c.get(j)+c.get(j-1)) a.add a k-c.get(j)+c.get(j-1) k-c.get(j) k c.get(j) c.get c j c.get(j-1) c.get c j-1 j 1 b.add(k-c.get(j+1)+c.get(j)) b.add b k-c.get(j+1)+c.get(j) k-c.get(j+1) k c.get(j+1) c.get c j+1 j 1 c.get(j) c.get c j int min = k; min k for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    } int t = 0; int t = 0; t 0 t<n t n t++ t++ t {
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    } {
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    } if (a.get(t) < min){
        min = a.get(t);
      } a.get(t) < min a.get(t) a.get a t min {
        min = a.get(t);
      } min = a.get(t) min a.get(t) a.get a t if (b.get(t) < min){
        min = b.get(t);
      } b.get(t) < min b.get(t) b.get b t min {
        min = b.get(t);
      } min = b.get(t) min b.get(t) b.get b t System.out.println(min) System.out.println System.out System System.out min String[] args args public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  }
} public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  }
} Main
import java.util.*;

public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int k = scan.nextInt();
    int n = scan.nextInt();
    int g = 0;
    ArrayList<Integer> c = new ArrayList<Integer>();
    for (int i=0;i<n;i++){
      g = scan.nextInt();
      c.add(g);
    }

    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();

    for (int j=0;j<n;j++){
      if (j == 0){
        a.add(c.get(n-1) - c.get(0));
        b.add(k - c.get(1) + c.get(0));
        continue;
      }
      if (j == n-1){
        a.add(k-c.get(n-1)+c.get(n-2));
        b.add(c.get(n-1) - c.get(0));
        continue;
      }
      a.add(k-c.get(j)+c.get(j-1));
      b.add(k-c.get(j+1)+c.get(j));
    }

    int min = k;
    for (int t = 0;t<n;t++){
      if (a.get(t) < min){
        min = a.get(t);
      }
      if (b.get(t) < min){
        min = b.get(t);
      }
    }
    System.out.println(min);
  }
}
