//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int siz(string s){ return (int)s.size(); } int main(){ int N, K; cin >> N >> K; vector X(N); for(int i = 0; i < N; i++) cin >> X[i]; sort(X.rbegin(), X.rend()); if(K != 2){ printl(X[0]-X[N-1]); }else{ int sum = 0; for(int i = 0; i < N-1; i++) sum += X[i]; sum = (sum+(N-1)-1)/(N-1); printl(sum-X[N-1]); } return 0; }