Submission

Status:
[PPPPPPPPPPP]

Score: 100

User: Dormon

Problemset: A.Six Zero

Language: cpp

Time: 0.012 second

Submitted On: 2025-01-05 21:31:28

#include <iostream>
#include <cstdint>
#include <cstring>
#include <vector>
#include <algorithm>
#include <functional>
#include <queue>
#include <numeric>
#include <array>
#include <iomanip> // cout << fixed << setprecision(n);

using namespace std;
const bool TEST_CASE = 1;

template<typename T>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* name, T value) {
    std::cout << name << " : " << value << '\n';
}

template<typename T, typename... Args>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* names, T value, Args... args) {
    const char* comma = strchr(names, ',');
    std::cout.write(names, comma - names) << " : " << value << " | ";
    Debug(comma + 1, args...);
}
template<typename T> ostream& operator<<(ostream& out, vector<T>& a) {
    for(auto &x : a) out << x << ' '; 
    return out;
};

#ifdef DORMON
    #define debug(...) Debug(#__VA_ARGS__, __VA_ARGS__)
#else
    #define debug(...) 
#endif

const int64_t mod = 1e9+7;

void solve(){
    string s;
    cin >> s;
    int n = s.size(), zero = 0;
    int64_t ans = 0ll;
    for (int i = n-1;i >= 0;i--){
        if (s[i] == '6')
            ans = (ans + ((zero + 0ll) * (zero - 1ll)) / 2) % mod;
        else
            zero++;
    }
    cout << ans << '\n';
}


int main()
{
    #ifndef DORMON
        ios_base::sync_with_stdio(false); 
    #endif
    cin.tie(0);
    int q = 1; 
    if (TEST_CASE) cin >> q;
    while (q--){
        solve();
    }
}