  // inputに入力データ全体が入る
  function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	input = input.split("\n");
	tmp = input[0].split(" ");
  var K = Number(tmp[0]);
  var N = Number(tmp[1]);
	//文字列から10進数に変換するときはparseIntを使います
  tmp = input[1].split(" ");
  for(i=0; i<tmp.length; i++){
    tmp[i] = Number(tmp[i]);
  }


  var max = 0;
  for (var i = 1; i < tmp.length; i++) {
    dis = tmp[i] - tmp[i-1];
    if(dis > max) max = dis;
  }
  dis = K - (tmp[tmp.length-1] - tmp[0]);
  if(dis > max) max = dis;
	//出力
	console.log('%d', K-max);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
