#include using namespace std; template ostream& operator<<(ostream& o, const vector& xs) { for (auto p : xs) {o << p << " ";}; return o; } int main() { std::ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; cin >> N; vector v(N); vector sumy_pref(N); set> pary; for(int i = 0; i < N; i++) { cin >> v[i]; } sumy_pref[0] = v[0]; pary.insert({v[0], 0}); for (int i = 1; i < N; i++) { sumy_pref[i] = (sumy_pref[i-1] + v[i])%10; pary.insert({sumy_pref[i], i}); } for (int i = 0; i < N; i++) { int s = (i == 0 ? 0 : sumy_pref[i-1]); auto it = pary.lower_bound({s, i}); if (it == pary.end() || (*it).second < i || (*it).first != s) { cout << "-1 "; continue; } cout << (*it).second - i + 1 << " "; } }