#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}); } // cout << "sumypref\n"; // cout << sumy_pref << "\n"; // cout << "====================\n"; // for (auto p : pary) { // cout << p.first << ", " << p.second << endl; // } // cout << "=====================\n"; for (int i = 0; i < N; i++) { int s = (i == 0 ? 0 : sumy_pref[i-1]); int brak = s; // cout << "Szukam pary (" << brak << ", " << i << ")\n"; auto it = pary.lower_bound({brak, i}); if (it == pary.end() || (*it).second < i) { cout << "-1 "; continue; } // cout << "Znalazłam " << (*it).first << " , " << (*it).second << "\n"; cout << (*it).second - i + 1 << " "; } }