public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int l = sc.nextInt();
int n = sc.nextInt();
int[] position = new int[n];
for(int i = 0; i < n; i++){
position[i] = sc.nextInt();
}
int fi = position[n-1];
int start = position[0], end = position[n-1];
int[] newPosition = new int[n];
newPosition[0] = start;
int sum = 0;
for(int i = 1; i < n; i++){
int right = position[i] - position[i-1];
int left = l - 1 - position[i] + position[i-1];
if(left < right){
newPosition[i] = --end;
}
else{
newPosition[i] = ++start;
}
}
if(start == newPosition[0]){
for(int i = 1; i < n; i++){
sum += position[i] - newPosition[i];
}
}
else if(end == fi){
for(int i = 0; i < n - 1; i++){
sum += newPosition[i] - position[i];
}
}
else{
int thr = 0;
for(int i = 1; i < n; i++) {
if (newPosition[i] > newPosition[i - 1] + 1) {
thr = i;
break;
}
sum += position[i]-i;
}
sum += position[0];
for(int i = n - 1; i >= thr; i--){
sum += l - 1 - position[i];
l--;
}
}
System.out.println(sum);
}
//
// public static void main(String[] args){
// Scanner sc = new Scanner(System.in);
// int n = sc.nextInt();
// int s= sc.nextInt();
// int sum = 0;
// ArrayList<ArrayList<Integer>> result = FindContinuousSequence(s);
// for(ArrayList<Integer> i : result){
// int max = i.get(i.size() - 1);
// if(max <= n)
// sum++;
// }
// System.out.println(sum %1000000007);
// }
//
// public static ArrayList<ArrayList<Integer>> FindContinuousSequence(int sum) {
// //存放结果
// ArrayList<ArrayList<Integer> > result = new ArrayList<>();
// //两个起点,相当于动态窗口的两边,根据其窗口内的值的和来确定窗口的位置和大小
// int plow = 1,phigh = 2;
// while(phigh > plow){
// //由于是连续的,差为1的一个序列,那么求和公式是(a0+an)*n/2
// int cur = (phigh + plow) * (phigh - plow + 1) / 2;
// //相等,那么就将窗口范围的所有数添加进结果集
// if(cur == sum){
// ArrayList<Integer> list = new ArrayList<>();
// for(int i=plow;i<=phigh;i++){
// list.add(i);
// }
// result.add(list);
// plow++;
// //如果当前窗口内的值之和小于sum,那么右边窗口右移一下
// }else if(cur < sum){
// phigh++;
// }else{
// //如果当前窗口内的值之和大于sum,那么左边窗口右移一下
// plow++;
// }
// }
// return result;
// }
第二题
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n == 0)
System.out.println(0);
if(n == 1)
System.out.println(100);
int[] arr = new int[n];
for(int i = 0; i < n; i++){
arr[i] = sc.nextInt();
}
int[] dp = new int[n];
Arrays.fill(dp, 100);
for(int i = 1; i < n; i++){
if(arr[i] > arr[i-1]){
dp[i] = dp[i-1] + 100;
}
}
for(int i = n-2; i >= 0; i--){
if(arr[i] > arr[i+1]){
dp[i] = dp[i+1] + 100;
}
}
int sum = 0;
for(int num : dp){
sum += num;
}
System.out.println(sum);
}