   program abc160c
      implicit none
      integer(8)::K,N,i,j,m,p,q,Cmin=100000000
      integer(8),allocatable,dimension(:)::A,R,L

         read *,K,N
         allocate(A(N),R(N),L(N))
         read *,A

         R=0
         L=0
         do i=1,N

            do j=i,N-1
               R(i)=R(i)+(A(j+1)-A(j))
            end do
            do m=1,i-2
               R(i)=R(i)+(A(m+1)-A(m))
            end do
            if (i/=1) then
               R(i)=R(i)+(K-A(N))+A(1)
            end if

            do p=i,2,-1
               L(i)=L(i)+(A(p)-A(p-1))
            end do
            do q=N-1,i+1,-1
               L(i)=L(i)+(A(q+1)-A(q))
            end do
            if (i/=N) then
               L(i)=L(i)+(K-A(N))+A(1)
            end if

         end do

         do i=1,N
            if (Cmin>R(i)) then
               Cmin=R(i)
            end if
         end do

         do j=1,N
            if (Cmin>L(i)) then
               Cmin=L(i)
            end if
         end do

         print *,Cmin
         stop

   end program abc160c