QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#387901 | #6523. Escape Plan | Mayuri | AC ✓ | 520ms | 87368kb | C++14 | 17.7kb | 2024-04-12 23:41:56 | 2024-04-12 23:41:56 |
Judging History
answer
//#define _CRT_SECURE_NO_WARNINGS
////#include<bits/stdc++.h>
////using namespace std;
////typedef long long ll;
////typedef long double ld;
////#define endl '\n'
////const ll mod = 1e9 + 7;
////ll T;
////ll l, r;
////ll f(ll x) {
//// ll ans = 1;
//// while (x) {
//// ans = ans * (x % 10) % mod;
//// x /= 10;
//// }
//// return ans;
////}
////int main()
////{
//// ios::sync_with_stdio(0);
//// cin.tie(0);
//// cout.tie(0);
//// ll T; cin >> T;
//// while (T--) {
//// cin >> l >> r;
//// if (l / 10 != r / 10) {
//// cout << 0 << endl;
//// continue;
//// }
//// ll ans = 1;
//// for (ll i = l; i <= r; i++)ans = (ans * f(i)) % mod;
//// cout << ans << endl;
//// }
////}
// WA
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll t;
//ll n, m;
//
//int main()//b
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll t; cin >> t;
// while (t--) {
// cin >> n >> m;
// vector<vector<char>>f(n + 1, vector<char>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> f[i][j];
// }
// }
// vector<vector<ll>>a(n + 1, vector<ll>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> a[i][j];
// }
// }
// vector<vector<ll>> dp(n + 1, vector<ll>(m + 1, -1));
// vector<vector<ll>>scc(n + 1, vector<ll>(m + 1, -1));
// vector<ll> sz(n * m + 1);
// ll cnt = 0;
// function<void(ll, ll)> fdfs = [&](ll x, ll y) -> void {
// if (x <= 0 || y <= 0 || x > n || y >m) {
// sz[cnt] = 0;
// return;
// }
// if (scc[x][y] != -1)return;
// scc[x][y] = cnt;
// sz[cnt]++;
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// fdfs(x + dx * a[x][y], y + dy * a[x][y]);
// };
// function<ll(ll, ll)> dfs = [&](ll x, ll y) -> ll {
// if (x < 0 || y < 0 || x > n || y >m)return 0;
// ll& ans = dp[x][y];
// if (sz[scc[x][y]] != 0) {
// return ans = sz[scc[x][y]];
// }
// if (ans != -1)return ans;
// ans = 0;
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// ans = dfs(x + dx * a[x][y], y + dy * a[x][y]) + 1;
// //cout << x << " " << y << " " << ans << endl;
// return ans;
// };
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// if (scc[i][j] == -1) {
// cnt++;
// fdfs(i, j);
// }
// }
// }
// ll ans = 0;
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// ans = max(ans, dfs(i, j));
// //cout << dfs(i, j) << " ";
// }//cout << endl;
// }
// if (ans == n * m) {
// cout << "yes" << endl;
// }
// else cout << "no" << endl;
// }
//}
// AC
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//ll n, m;
//int main()//B
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// cin >> n >> m;
// vector<vector<char>>f(n + 1, vector<char>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> f[i][j];
// }
// }
// vector<vector<ll>>a(n + 1, vector<ll>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> a[i][j];
// }
// }
// vector<vector<ll>>c(n + 1, vector<ll>(m + 1));
// for (ll x = 1; x <= n; x++) {
// for (ll y = 1; y <= m; y++) {
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// ll tx = x + dx * a[x][y], ty = y + dy * a[x][y];
// if (tx < 0 || ty < 0 || tx > n || ty >m)continue;
// c[tx][ty]++;
// }
// }
// ll bx = 1, by = 1;
// for (ll x = 1; x <= n; x++) {
// for (ll y = 1; y <= m; y++) {
// if (c[x][y] == 0) {
// bx = x;
// by = y;
// }
// }
// }
// vector<vector<bool>> dp(n + 1, vector<bool>(m + 1));
// function<void(ll, ll)> dfs = [&](ll x, ll y) -> void {
// if (x <= 0 || y <= 0 || x > n || y >m)return;
// if (dp[x][y])return;
// dp[x][y] = true;
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// dfs(x + dx * a[x][y], y + dy * a[x][y]);
// };
// bool flag = true;
// dfs(bx, by);
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// //cout << dp[i][j] << " ";
// if (!dp[i][j])flag = false;
// }//cout << endl;
// }
// if (flag) {
// cout << "Yes" << endl;
// }
// else cout << "No" << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//ll n, m;
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// cin >> n >> m;
// vector<vector<char>>f(n + 1, vector<char>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> f[i][j];
// }
// }
// vector<vector<ll>>a(n + 1, vector<ll>(m + 1));
// for (ll i = 1; i <= n; i++) {
// for (ll j = 1; j <= m; j++) {
// cin >> a[i][j];
// }
// }
// vector<vector<ll>>c(n + 1, vector<ll>(m + 1));
// for (ll x = 1; x <= n; x++) {
// for (ll y = 1; y <= m; y++) {
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// ll tx = x + dx * a[x][y], ty = y + dy * a[x][y];
// if (tx < 0 || ty < 0 || tx > n || ty >m)continue;
// c[tx][ty]++;
// }
// }
// ll bx = 1, by = 1;
// for (ll x = 1; x <= n; x++) {
// for (ll y = 1; y <= m; y++) {
// if (c[x][y] == 0) {
// bx = x;
// by = y;
// }
// }
// }
// vector<vector<ll>> dp(n + 1, vector<ll>(m + 1, -1));
// function<ll(ll, ll)> dfs = [&](ll x, ll y) -> ll {
// if (x <= 0 || y <= 0 || x > n || y >m)return 0;
// ll& ans = dp[x][y];
// if (ans != -1)return ans;
// ans = 0;
// ll dx = 0, dy = 0;
// if (f[x][y] == 'l')dx = 0, dy = -1;
// if (f[x][y] == 'u')dx = -1, dy = 0;
// if (f[x][y] == 'r')dx = 0, dy = 1;
// if (f[x][y] == 'd')dx = 1, dy = 0;
// ans = dfs(x + dx * a[x][y], y + dy * a[x][y]) + 1;
// //cout << x << " " << y << " " << ans << endl;
// return ans;
// };
// bool flag = true;
// if (dfs(bx, by) != n * m)flag = false;
// if (flag) {
// cout << "Yes" << endl;
// }
// else cout << "No" << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//ll n, m;
//ll x, y, z;
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// cin >> x >> y >> z;
// ll d = x + y - z;
// if (d == 0)cout << (ll)1e9 << endl;
// else if (d <= z || y < z)cout << -1 << endl;
// else cout << d << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//ll n, k;
//string s;
//bool check(ll x) {
// ll cnt = 0;
// for (ll i = 0; i < s.size(); i++) {
// if (s[i] == '1') {
// if (x == 0)return false;
// cnt++;
// i += x - 1;
// }
// }
// return cnt <= k;
//}
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// cin >> n >> k;
// cin >> s;
// ll l = -1, r = 2e5 + 5;
// while (l < r - 1) {
// ll mid = (l + r) >> 1;
// if (check(mid)) r = mid;
// else l = mid;
// }
// cout << r << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//int main()//C读错
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// string s; cin >> s;
// ll now = 0;
// ll cnt = 0;
// ll ans = 0;
// for (ll i = 0; i < s.size(); i++) {
// if (now == 0) {
// if (s[i] == '6' || s[i] == '9') now = 2, cnt = 1;
// else if (s[i] == '8' || s[i] == '0') now = 1, cnt = 1;
// else now = 0, cnt = 0;
// }
// else {
// cnt++;
// if(s[i] == '6' || s[i] == '9') now = now * 2 * cnt;
// else if(s[i] == '8' || s[i] == '0') now = now * cnt;
// else {
// ans += now;
// now = 0, cnt = 0;
// }
// }
// cout << now << " " << cnt << endl;
// }
// ans += now;
// cout << ans << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//ll T;
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// string s; cin >> s;
// ll now = 0;
// ll cnt = 0;
// ll ans = 0;
// for (ll i = 0; i < s.size(); i++) {
//
// }
// ans += now;
// cout << ans << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//const ll maxn = 2e5 + 5;
//ll T;
//ll n;
//ll l[maxn], r[maxn];
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// cin >> n;
// for (ll i = 1; i <= n; i++) cin >> l[i] >> r[i];
// ll ans = 0;
// vector<ll>bas(n + 1);
// vector<bool>pass(n + 1);
// for (ll i = 32; i >= 0; i--) {
// bool flag = true;
// for (ll j = 1; j <= n; j++) {
// if (pass[j])continue;
// ll L = (1ll << i) + bas[j], R = (1ll << (i + 1)) - 1 + bas[j];
// if (l[j] > R || r[j] < L) flag = false;
// }
// if (flag) {
// for (ll j = 1; j <= n; j++) {
// bas[j] += 1ll << i;
// }
// ans += 1ll << i;
// }
// else {
// for (ll j = 1; j <= n; j++) {
// ll t = (1ll << i) - 1 + bas[j];
// if (l[j] <= t && r[j] >= t)pass[j] = true;
// else {
// if (r[j] < t)continue;
// else {
// bas[j] += 1ll << i;
// }
// }
// }
// }
// }
// cout << ans << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//const ll maxn = 2e5 + 5;
//ll T;
//ll n;
//ll l[maxn], r[maxn];
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// string s;
// cin >> s;
// vector<string>v;
// string now;
// ll ans = 0;
// for (ll i = 0; i < s.size(); i++) {
// if (s[i] == '6' || s[i] == '9' || s[i] == '8' || s[i] == '0') now += s[i];
// else {
// if (now.size())v.push_back(now);
// now.clear();
// }
// }
// if (now.size())v.push_back(now);
// ll flag = 0;
// for (auto it : v) {
// vector<ll>c(15);
// ans += it.size() * (it.size() - 1) / 2;
// for (ll i = 0; i < it.size(); i++) {
// ll t = it[i] - '0';
// if (t == 6 || t == 9)ans++;
// if (t == 0 || t == 8)flag = 1;
// if (i > 0) {
// if (it[i] == '6' && it[i - 1] == '9')flag = 1;
// if (it[i] == '9' && it[i - 1] == '6')flag = 1;
// }
// if (t == 6)ans -= c[9];
// else if (t == 9)ans -= c[6];
// else if (t == 8)ans -= c[8];
// else if (t == 0)ans -= c[0];
// c[t]++;
// }
// }
// ans += flag;
// cout << ans << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//const ll maxn = 2e5 + 5;
//ll T;
//ll n;
//ll ecnt = 0;
//ll head[maxn];
//ll to[maxn << 1];
//ll nxt[maxn << 1];
//char w[maxn << 1];
//bool vis[maxn << 1];
//bool dp[maxn << 1];
//void add(ll u, ll v, char ch) {
// ++ecnt;
// w[ecnt] = ch;
// nxt[ecnt] = head[u];
// to[ecnt] = v;
// head[u] = ecnt;
//}
//void clear() {
// for (ll i = 1; i <= n; i++)head[i] = 0;
// for (ll i = 1; i <= ecnt; i++)vis[i] = false;
// ecnt++;
//}
//bool is[maxn];
//bool dfs(ll u, ll fa) {
// bool flag = true;
// char ch = '#';
// for (ll i = head[u]; i; i = nxt[i]) {
// ll v = to[i];
// if (fa == v)continue;
// if (ch == w[i])flag = false;
// ch = w[i];
// if (!vis[i]) {
// vis[i] = true;
// dp[i] &= dfs(v, u);
// }
// flag &= dp[i];
// }
// return flag;
//}
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// ll T; cin >> T;
// while (T--) {
// clear();
// cin >> n;
// for (ll i = 1; i <= n - 1; i++) {
// ll u, v; char ch;
// cin >> u >> v >> ch;
// add(u, v, ch);
// add(v, u, ch);
// }
// ll ans = 0;
// for (ll i = 1; i <= n; i++) if (dfs(i, 0))ans++;
// cout << ans << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//const ll maxn = 1e5 + 5;
//ll T;
//ll n;
//vector<ll>p[maxn];
//void pre() {//埃氏筛处理因子表
// for (ll i = 1; i < maxn; i++) {
// for (ll j = 1; i * j < maxn; j++) {
// p[i * j].push_back(j);
// }
// }
//}
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// pre();
// ll T; cin >> T;
// while (T--) {
// cin >> n;
// vector<bool>is(n + 1);
// vector<pair<ll, ll>>ans;
// is[1] = true;
// for (ll i = n; i >= 1; i--) {
// if (is[i])continue;
// //for (ll j = 2; j <= sqrt(i + 0.5); j++) {
// // if (i % j == 0 && !is[j]) {
// // ans.push_back({ j, i });
// // is[i] = is[j] = true;
// // break;
// // }
// //}
// for(auto j:p[i]){
// if (j == i)continue;
// if (!is[j]) {
// ans.push_back({ j, i });
// is[i] = is[j] = true;
// break;
// }
// }
// }
// cout << ans.size();
// for (auto it : ans)cout << " " << it.first << " " << it.second;
// cout << endl;
// }
//}
//#include<bits/stdc++.h>
//using namespace std;
//typedef long long ll;
//typedef long double ld;
//#define endl '\n'
//const ll mod = 1e9 + 7;
//const ll maxn = 1e5 + 5;
//ll T;
//ll n;
//vector<ll>p[maxn];
//void pre() {//埃氏筛处理因子表
// for (ll i = 1; i < maxn; i++) {
// for (ll j = 1; i * j < maxn; j++) {
// p[i * j].push_back(j);
// }
// sort(p[i].begin(), p[i].end());
// }
//}
//int main()
//{
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// pre();
// ll T; cin >> T;
// while (T--) {
// cin >> n;
// vector<bool>is(n + 1);
// vector<ll>ans;
// is[1] = true;
// for (ll i = 3; i <= n; i++) {
// vector<ll>tem;
// for (ll j = 1; j * i <= n; j++) {
// if (is[i * j])continue;
// tem.push_back(j * i);
// }
// if (tem.size() > 1) {
// if (tem.size() & 1) {
// for (auto it : tem) {
// if (it == i * 2)continue;
// ans.push_back(it);
// is[it] = true;
// }
// }
// else {
// for (auto it : tem) {
// ans.push_back(it);
// is[it] = true;
// }
// }
// }
// }
// for (ll i = 2; i <= 2; i++) {
// vector<ll>tem;
// for (ll j = 1; j * i <= n; j++) {
// if (is[i * j])continue;
// tem.push_back(j * i);
// }
// if (tem.size() & 1) {
// for (auto it : tem) {
// if (it == 2)continue;
// ans.push_back(it);
// is[it] = true;
// }
// }
// else {
// for (auto it : tem) {
// ans.push_back(it);
// is[it] = true;
// }
// }
// }
// cout << ans.size() / 2;
// for (auto it : ans)cout << " " << it;
// cout << endl;
// }
//}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define endl '\n'
const ll mod = 1e9 + 7;
const ll maxn = 1e5 + 5;
const ll inf = 1e18;
ll T;
ll n, m, k;
ll e[maxn], d[maxn], w[maxn];
vector<pair<ll,ll>>to[maxn];
vector<ll>beg;
ll cnt[maxn];//经过次数
vector<ll>f[maxn];//要删的边的v
bool vis[maxn];
struct edge {
ll v, dis, u;
bool operator<(edge t)const {
return dis > t.dis;
}
};
void clear() {
beg.clear();
for (ll i = 1; i <= n; i++)to[i].clear(), cnt[i] = 0, f[i].clear(), vis[i] = false;
}
void del(ll u) {
sort(f[u].begin(), f[u].end());
ll cur = 0;
for (auto it : to[u]) if (cur < f[u].size() && f[u][cur] == it.first) it.second = inf, cur++;
}
void solve() {
priority_queue<edge>q;//当前权值,出发点
for (ll i = 1; i <= k; i++) q.push({ e[i], 0, 0}), d[e[i]] = 0;
while (q.size()) {
auto it = q.top(); q.pop();
ll u = it.v, nowd = it.dis, from = it.u;
//cout << u << endl;
if (vis[u])continue;
if (cnt[u] < d[u]) cnt[u]++,f[u].push_back(from);
else {
//if(from != 0)del(u);
vis[u] = true;
if (u == 1) {
cout << nowd << endl;
return;
}
for (auto it : to[u]) {
ll v = it.first, w = it.second;
//cout << v << endl;
q.push({ v,w + nowd, u });
}
}
}
cout << -1 << endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll T; cin >> T;
while (T--) {
clear();
cin >> n >> m >> k;
for (ll i = 1; i <= k; i++) {
cin >> e[i];
beg.push_back(e[i]);
}
for (ll i = 1; i <= n; i++) cin >> d[i];
for (ll i = 1; i <= m; i++) {
ll u, v, w; cin >> u >> v >> w;
to[u].push_back({ v, w });
to[v].push_back({ u, w });
}
for (auto it : to) {
sort(it.begin(), it.end());
}
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 8296kb
input:
2 3 4 1 3 1 1 1 1 2 1 1 2 2 2 3 1 2 3 2 3 2 2 2 3 2 0 0 1 2 1 1 3 1
output:
4 -1
result:
ok 2 number(s): "4 -1"
Test #2:
score: 0
Accepted
time: 520ms
memory: 87368kb
input:
100 100 1808 2 94 47 3 3 0 2 4 3 3 4 0 0 2 2 2 3 2 4 0 2 3 4 4 2 0 3 4 3 1 0 2 1 2 2 0 3 4 4 4 1 2 2 3 1 0 0 3 1 4 2 1 3 3 4 3 0 4 1 0 3 2 1 4 4 1 3 2 3 3 3 3 1 0 3 0 4 3 1 0 4 0 4 4 1 2 0 0 4 1 3 3 3 0 2 2 1 1 2 3 4 1 2 72 29 1138 59 78 2398 95 5 1610 32 46 4176 36 99 8143 100 69 413 61 58 1595 9 9...
output:
5109 1021 3293 4646 3796 3394 1884 6772 2329 2067 3296 2809 865 4249 2241 3792 2135 2544 3343 1775 10602 4677 1700 2150 7071 14055 3368 2322 1113 1980 3067 1617 1702 -1 2879 6265 2065 2810 2289 3001 402 3769 18118 6874 7879 3823 -1 510 2636 10564 -1 3166 3615 7526 5549 1261 3302 270 4440 1998 3350 3...
result:
ok 100 numbers