#include #include using namespace std; using ll = long long; #define rep(i, s, t) for (ll i = s; i < (ll)(t); i++) #define all(x) begin(x), end(x) template bool chmin(T& x, T y) { return x > y ? (x = y, true) : false; } template bool chmax(T& x, T y) { return x < y ? (x = y, true) : false; } void solve() { int k; ll n; cin >> k >> n; vector d(k); rep(i, 0, k) cin >> d[i]; vector sd(k + 1, 0); rep(i, 0, k) sd[i + 1] = sd[i] + d[i]; rep(i, 0, k) { ll ans = 1e18; { ll g = sd[i] - sd[0] - i; ll nd = sd[i] % n; if (nd == 0) nd += n; if (nd <= g) chmin(ans, nd); } { ll g = sd[k] - sd[i + 1] - (k - 1 - i); ll nd = n - (sd[i + 1] - 1) % n; if (nd <= g) chmin(ans, nd); } if (ans == 1e18) ans = -1; cout << ans << '\n'; } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(15); int t = 1; // cin >> t; while (t--) solve(); }