#include <bits/stdc++.h>
using namespace std;
long long num[100010], n, x;
int main() {
  cin >> n >> x;
  long long mini = 1e10;
  int idx;
  for (int i = 0; i < (n); i++) {
    cin >> num[i];
    if (num[i] < mini) {
      mini = num[i];
      idx = i;
    }
  }
  --x;
  for (int i = n + x; i > x; --i) {
    if (num[i % n] == mini) {
      idx = i % n;
      break;
    }
  }
  long long end = num[x];
  int delta = 0;
  if (idx > x) {
    delta = n - (idx - x);
  } else {
    delta = x - idx;
  }
  long long thrown = (mini * n) + delta;
  int start = idx;
  int endo = x;
  if (start < endo) {
    for (int i = 0; i < n; ++i) {
      if (i > endo) {
        num[i] -= mini;
      } else if (i < start) {
        num[i] -= mini;
      } else if (i > start && i <= endo) {
        num[i] -= (mini + 1);
      }
    }
  } else if (start > endo) {
    for (int i = 0; i < n; ++i) {
      if (i > start) {
        num[i] -= (mini + 1);
      } else if (i <= endo) {
        num[i] -= (mini + 1);
      } else if (i > endo && i < start) {
        num[i] -= mini;
      }
    }
  } else {
    for (int i = 0; i < n; ++i) {
      if (i != start) {
        num[i] -= mini;
      }
    }
  }
  num[start] = thrown;
  for (int i = 0; i < n; ++i) {
    cout << num[i] << " ";
  }
  cout << endl;
  return 0;
}
