#include #define FOR(i, n) for(int i = 0; i < (n); ++i) #define REP(i, a, b) for(int i = (a); i < (b); ++i) #define TRAV(i, a) for(auto & i : (a)) #define SZ(x) ((int)(x).size()) #define X first #define Y second #define PR std::pair #define MP std::make_pair typedef long long ll; typedef std::pair PII; typedef std::vector VI; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); int n; std::cin >> n; VI A(n); FOR(i, n) std::cin >> A[i]; VI pref(n+1); FOR(i, n){ pref[i+1] = (pref[i] + A[i])%10; } std::vector> set(10); REP(i, 1, n+1) set[pref[i]].insert(i); FOR(i, n){ if(i != 0) std::cout << " "; auto it = set[pref[i]].lower_bound(i+1); if(it == set[pref[i]].end()) std::cout << -1; else std::cout << *it - i; } return 0; }