Submission

Status:

[PP-SSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: singtoppy

Problemset: A.Six Zero

Language: cpp

Time: 0.008 second

Submitted On: 2026-03-20 21:49:26

#include<bits/stdc++.h>

using namespace std;

#define ll long long
#define pb push_back
#define pii pair<int, int>
#define pll pair<ll, ll>
#define ttt pair<string, array<int, 2>>

const int dir[4][2] = {{1, 0}, {0, -1}, {0, 1}, {-1, 0}};
const int MOD = 1e9 + 7;
const ll INF64 = (ll) 1e18;

string s;

void solve() {
	cin >> s;
	int n = s.size();
	bool sixseven = false;
	int zerocnt[n];
	zerocnt[n - 1] = (s[n - 1] == '0');
	for(int i = n - 2; i >= 0; i--)
		zerocnt[i] = zerocnt[i + 1] + (s[i] == '0');
	ll res = 0;
	for(int i = 0; i < n - 1; i++) {
		if(s[i] == '6')
			res = (res + (zerocnt[i + 1] * (zerocnt[i + 1] - 1) / 2) % MOD) % MOD;
	}
	cout << res << '\n';
}


int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t;
	cin >> t;
	while(t--) 
		solve();
	return 0;
}