#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 7;
long long a[maxn];
long long M = 1e9 + 7;
int main() {
  long long n, m;
  scanf("%I64d%I64d", &n, &m);
  for (int i = 1; i <= n; i++) {
    scanf("%I64d", &a[i]);
    M = min(M, a[i]);
  }
  int flag = 0;
  for (int i = m; i > 0; i--)
    if (a[i] == M) {
      flag = i;
      break;
    }
  if (!flag) {
    for (int i = n; i >= m; i--)
      if (a[i] == M) {
        flag = i;
        break;
      }
  }
  if (flag <= m) {
    for (int i = flag + 1; i <= m; i++) {
      a[i]--;
      a[flag]++;
    }
  } else {
    for (int i = 1; i <= n; i++) {
      if (i > flag || i <= m) {
        a[i]--;
        a[flag]++;
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    if (i != flag) a[i] -= M;
  }
  long long v = M * (n - 1);
  a[flag] = a[flag] + v;
  for (int i = 1; i < n; i++) printf("%I64d ", a[i]);
  printf("%I64d\n", a[n]);
  return 0;
}
