fun main(args: Array<String>) {
    val (k, n) = readLine()?.split(" ")?.map(String::toInt) ?: return
    val distances = readLine()?.split(" ")?.map(String::toInt) ?: return
    // 各家の距離で一番離れている場所からスタートする
    val max = distances.mapIndexed { i, distance ->
        if (i == 0) {
            distance + (k - distances.last())
        } else {
            distance -  distances[i-1]
        }
    }.max()!!
    println(k - max)
}