QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#222870 | #7618. Pattern Search | ucup-team296# | AC ✓ | 71ms | 6064kb | Rust | 28.2kb | 2023-10-21 19:22:12 | 2023-10-21 19:22:13 |
Judging History
answer
//
pub mod solution {
use crate::collections::min_max::MinimMaxim;
use crate::io::input::Input;
use crate::io::output::Output;
use crate::numbers::num_utils::UpperDiv;
use crate::string::str::StrReader;
type PreCalc = ();
fn solve(input: &mut Input, out: &mut Output, _test_case: usize, _data: &PreCalc) {
let s = input.read_str();
let t = input.read_str();
let mut qt = vec![0; 26];
for c in t.iter() {
qt[c as usize - 'a' as usize] += 1;
}
let mut qs = vec![0; 26];
for c in s.iter() {
qs[c as usize - 'a' as usize] += 1;
}
for i in 0..26 {
if qt[i] > qs[i] {
out.print_line(0);
return;
}
}
if t.len() == 1 {
for i in 0..26 {
if qt[i] > 0 {
out.print_line(qs[i]);
return;
}
}
}
for i in (2..=t.len()).rev() {
let mut ok = true;
for j in 0..26 {
if qt[j] == 0 {
continue;
}
let rem = (i - qt[j] % i) % i;
if rem > qt[j].upper_div(i) {
ok = false;
break;
}
}
if ok {
let mut ans = None;
for j in 0..26 {
if qt[j] == 0 {
continue;
}
let cur = qt[j].upper_div(i);
ans.minim((qs[j] - qt[j]) / cur + 1);
}
out.print_line(ans);
return;
}
}
unreachable!();
}
pub(crate) fn run(mut input: Input, mut output: Output) -> bool {
let pre_calc = ();
#[allow(dead_code)]
enum TestType {
Single,
MultiNumber,
MultiEof,
}
let test_type = TestType::MultiNumber;
match test_type {
TestType::Single => solve(&mut input, &mut output, 1, &pre_calc),
TestType::MultiNumber => {
let t = input.read();
for i in 1..=t {
solve(&mut input, &mut output, i, &pre_calc);
}
}
TestType::MultiEof => {
let mut i = 1;
while input.peek().is_some() {
solve(&mut input, &mut output, i, &pre_calc);
i += 1;
}
}
}
output.flush();
input.skip_whitespace();
input.peek().is_none()
}
}
pub mod collections {
pub mod iter_ext {
pub mod collect {
pub trait IterCollect<T>: Iterator<Item = T> + Sized {
fn collect_vec(self) -> Vec<T> {
self.collect()
}
}
impl<T, I: Iterator<Item = T> + Sized> IterCollect<T> for I {}
}
}
pub mod min_max {
pub trait MinimMaxim<Rhs = Self>: PartialOrd + Sized {
fn minim(&mut self, other: Rhs) -> bool;
fn maxim(&mut self, other: Rhs) -> bool;
}
impl<T: PartialOrd> MinimMaxim for T {
fn minim(&mut self, other: Self) -> bool {
if other < *self {
*self = other;
true
} else {
false
}
}
fn maxim(&mut self, other: Self) -> bool {
if other > *self {
*self = other;
true
} else {
false
}
}
}
impl<T: PartialOrd> MinimMaxim<T> for Option<T> {
fn minim(&mut self, other: T) -> bool {
match self {
None => {
*self = Some(other);
true
}
Some(v) => v.minim(other),
}
}
fn maxim(&mut self, other: T) -> bool {
match self {
None => {
*self = Some(other);
true
}
Some(v) => v.maxim(other),
}
}
}
}
pub mod vec_ext {
pub mod default {
pub fn default_vec<T: Default>(len: usize) -> Vec<T> {
let mut v = Vec::with_capacity(len);
for _ in 0..len {
v.push(T::default());
}
v
}
}
}
}
pub mod io {
pub mod input {
use crate::collections::vec_ext::default::default_vec;
use std::io::Read;
pub struct Input<'s> {
input: &'s mut dyn Read,
buf: Vec<u8>,
at: usize,
buf_read: usize,
}
macro_rules! read_impl {
($t: ty, $read_name: ident, $read_vec_name: ident) => {
pub fn $read_name(&mut self) -> $t {
self.read()
}
pub fn $read_vec_name(&mut self, len: usize) -> Vec<$t> {
self.read_vec(len)
}
};
($t: ty, $read_name: ident, $read_vec_name: ident, $read_pair_vec_name: ident) => {
read_impl!($t, $read_name, $read_vec_name);
pub fn $read_pair_vec_name(&mut self, len: usize) -> Vec<($t, $t)> {
self.read_vec(len)
}
};
}
impl<'s> Input<'s> {
const DEFAULT_BUF_SIZE: usize = 4096;
pub fn new(input: &'s mut dyn Read) -> Self {
Self {
input,
buf: default_vec(Self::DEFAULT_BUF_SIZE),
at: 0,
buf_read: 0,
}
}
pub fn new_with_size(input: &'s mut dyn Read, buf_size: usize) -> Self {
Self {
input,
buf: default_vec(buf_size),
at: 0,
buf_read: 0,
}
}
pub fn get(&mut self) -> Option<u8> {
if self.refill_buffer() {
let res = self.buf[self.at];
self.at += 1;
if res == b'\r' {
if self.refill_buffer() && self.buf[self.at] == b'\n' {
self.at += 1;
}
return Some(b'\n');
}
Some(res)
} else {
None
}
}
pub fn peek(&mut self) -> Option<u8> {
if self.refill_buffer() {
let res = self.buf[self.at];
Some(if res == b'\r' { b'\n' } else { res })
} else {
None
}
}
pub fn skip_whitespace(&mut self) {
while let Some(b) = self.peek() {
if !char::from(b).is_whitespace() {
return;
}
self.get();
}
}
pub fn next_token(&mut self) -> Option<Vec<u8>> {
self.skip_whitespace();
let mut res = Vec::new();
while let Some(c) = self.get() {
if char::from(c).is_whitespace() {
break;
}
res.push(c);
}
if res.is_empty() {
None
} else {
Some(res)
}
}
//noinspection RsSelfConvention
pub fn is_exhausted(&mut self) -> bool {
self.peek().is_none()
}
pub fn read<T: Readable>(&mut self) -> T {
T::read(self)
}
pub fn read_vec<T: Readable>(&mut self, size: usize) -> Vec<T> {
let mut res = Vec::with_capacity(size);
for _ in 0..size {
res.push(self.read());
}
res
}
pub fn read_char(&mut self) -> char {
self.skip_whitespace();
self.get().unwrap().into()
}
read_impl!(u32, read_unsigned, read_unsigned_vec);
read_impl!(u64, read_u64, read_u64_vec);
read_impl!(usize, read_size, read_size_vec, read_size_pair_vec);
read_impl!(i32, read_int, read_int_vec, read_int_pair_vec);
read_impl!(i64, read_long, read_long_vec, read_long_pair_vec);
read_impl!(i128, read_i128, read_i128_vec);
fn refill_buffer(&mut self) -> bool {
if self.at == self.buf_read {
self.at = 0;
self.buf_read = self.input.read(&mut self.buf).unwrap();
self.buf_read != 0
} else {
true
}
}
}
pub trait Readable {
fn read(input: &mut Input) -> Self;
}
impl Readable for char {
fn read(input: &mut Input) -> Self {
input.read_char()
}
}
impl<T: Readable> Readable for Vec<T> {
fn read(input: &mut Input) -> Self {
let size = input.read();
input.read_vec(size)
}
}
macro_rules! read_integer {
($($t:ident)+) => {$(
impl Readable for $t {
fn read(input: &mut Input) -> Self {
input.skip_whitespace();
let mut c = input.get().unwrap();
let sgn = match c {
b'-' => {
c = input.get().unwrap();
true
}
b'+' => {
c = input.get().unwrap();
false
}
_ => false,
};
let mut res = 0;
loop {
assert!(c.is_ascii_digit());
res *= 10;
let d = (c - b'0') as $t;
if sgn {
res -= d;
} else {
res += d;
}
match input.get() {
None => break,
Some(ch) => {
if ch.is_ascii_whitespace() {
break;
} else {
c = ch;
}
}
}
}
res
}
}
)+};
}
read_integer!(i8 i16 i32 i64 i128 isize u8 u16 u32 u64 u128 usize);
macro_rules! tuple_readable {
($($name:ident)+) => {
impl<$($name: Readable), +> Readable for ($($name,)+) {
fn read(input: &mut Input) -> Self {
($($name::read(input),)+)
}
}
}
}
tuple_readable! {T}
tuple_readable! {T U}
tuple_readable! {T U V}
tuple_readable! {T U V X}
tuple_readable! {T U V X Y}
tuple_readable! {T U V X Y Z}
tuple_readable! {T U V X Y Z A}
tuple_readable! {T U V X Y Z A B}
tuple_readable! {T U V X Y Z A B C}
tuple_readable! {T U V X Y Z A B C D}
tuple_readable! {T U V X Y Z A B C D E}
tuple_readable! {T U V X Y Z A B C D E F}
impl Read for Input<'_> {
fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
if self.at == self.buf_read {
self.input.read(buf)
} else {
let mut i = 0;
while i < buf.len() && self.at < self.buf_read {
buf[i] = self.buf[self.at];
i += 1;
self.at += 1;
}
Ok(i)
}
}
}
}
pub mod output {
use crate::collections::vec_ext::default::default_vec;
use std::io::{stdout, Stdout, Write};
#[derive(Copy, Clone)]
pub enum BoolOutput {
YesNo,
YesNoCaps,
PossibleImpossible,
Custom(&'static str, &'static str),
}
impl BoolOutput {
pub fn output(&self, output: &mut Output, val: bool) {
(if val { self.yes() } else { self.no() }).write(output);
}
fn yes(&self) -> &str {
match self {
BoolOutput::YesNo => "Yes",
BoolOutput::YesNoCaps => "YES",
BoolOutput::PossibleImpossible => "Possible",
BoolOutput::Custom(yes, _) => yes,
}
}
fn no(&self) -> &str {
match self {
BoolOutput::YesNo => "No",
BoolOutput::YesNoCaps => "NO",
BoolOutput::PossibleImpossible => "Impossible",
BoolOutput::Custom(_, no) => no,
}
}
}
pub struct Output<'s> {
output: &'s mut dyn Write,
buf: Vec<u8>,
at: usize,
auto_flush: bool,
bool_output: BoolOutput,
}
impl<'s> Output<'s> {
const DEFAULT_BUF_SIZE: usize = 4096;
pub fn new(output: &'s mut dyn Write) -> Self {
Self {
output,
buf: default_vec(Self::DEFAULT_BUF_SIZE),
at: 0,
auto_flush: false,
bool_output: BoolOutput::YesNoCaps,
}
}
pub fn new_with_auto_flush(output: &'s mut dyn Write) -> Self {
Self {
output,
buf: default_vec(Self::DEFAULT_BUF_SIZE),
at: 0,
auto_flush: true,
bool_output: BoolOutput::YesNoCaps,
}
}
pub fn flush(&mut self) {
if self.at != 0 {
self.output.write_all(&self.buf[..self.at]).unwrap();
self.output.flush().unwrap();
self.at = 0;
}
}
pub fn print<T: Writable>(&mut self, s: T) {
s.write(self);
}
pub fn print_line<T: Writable>(&mut self, s: T) {
self.print(s);
self.put(b'\n');
}
pub fn put(&mut self, b: u8) {
self.buf[self.at] = b;
self.at += 1;
if self.at == self.buf.len() {
self.flush();
}
}
pub fn maybe_flush(&mut self) {
if self.auto_flush {
self.flush();
}
}
pub fn print_per_line<T: Writable>(&mut self, arg: &[T]) {
for i in arg {
i.write(self);
self.put(b'\n');
}
}
pub fn print_iter<T: Writable, I: Iterator<Item = T>>(&mut self, iter: I) {
let mut first = true;
for e in iter {
if first {
first = false;
} else {
self.put(b' ');
}
e.write(self);
}
}
pub fn print_iter_ref<'a, T: 'a + Writable, I: Iterator<Item = &'a T>>(&mut self, iter: I) {
let mut first = true;
for e in iter {
if first {
first = false;
} else {
self.put(b' ');
}
e.write(self);
}
}
pub fn set_bool_output(&mut self, bool_output: BoolOutput) {
self.bool_output = bool_output;
}
}
impl Write for Output<'_> {
fn write(&mut self, buf: &[u8]) -> std::io::Result<usize> {
let mut start = 0usize;
let mut rem = buf.len();
while rem > 0 {
let len = (self.buf.len() - self.at).min(rem);
self.buf[self.at..self.at + len].copy_from_slice(&buf[start..start + len]);
self.at += len;
if self.at == self.buf.len() {
self.flush();
}
start += len;
rem -= len;
}
self.maybe_flush();
Ok(buf.len())
}
fn flush(&mut self) -> std::io::Result<()> {
self.flush();
Ok(())
}
}
pub trait Writable {
fn write(&self, output: &mut Output);
}
impl Writable for &str {
fn write(&self, output: &mut Output) {
output.write_all(self.as_bytes()).unwrap();
}
}
impl Writable for String {
fn write(&self, output: &mut Output) {
output.write_all(self.as_bytes()).unwrap();
}
}
impl Writable for char {
fn write(&self, output: &mut Output) {
output.put(*self as u8);
}
}
impl<T: Writable> Writable for [T] {
fn write(&self, output: &mut Output) {
output.print_iter_ref(self.iter());
}
}
impl<T: Writable, const N: usize> Writable for [T; N] {
fn write(&self, output: &mut Output) {
output.print_iter_ref(self.iter());
}
}
impl<T: Writable> Writable for &T {
fn write(&self, output: &mut Output) {
T::write(self, output)
}
}
impl<T: Writable> Writable for Vec<T> {
fn write(&self, output: &mut Output) {
self.as_slice().write(output);
}
}
impl Writable for () {
fn write(&self, _output: &mut Output) {}
}
macro_rules! write_to_string {
($($t:ident)+) => {$(
impl Writable for $t {
fn write(&self, output: &mut Output) {
self.to_string().write(output);
}
}
)+};
}
write_to_string!(u8 u16 u32 u64 u128 usize i8 i16 i32 i64 i128 isize);
macro_rules! tuple_writable {
($name0:ident $($name:ident: $id:tt )*) => {
impl<$name0: Writable, $($name: Writable,)*> Writable for ($name0, $($name,)*) {
fn write(&self, out: &mut Output) {
self.0.write(out);
$(
out.put(b' ');
self.$id.write(out);
)*
}
}
}
}
tuple_writable! {T}
tuple_writable! {T U:1}
tuple_writable! {T U:1 V:2}
tuple_writable! {T U:1 V:2 X:3}
tuple_writable! {T U:1 V:2 X:3 Y:4}
tuple_writable! {T U:1 V:2 X:3 Y:4 Z:5}
tuple_writable! {T U:1 V:2 X:3 Y:4 Z:5 A:6}
tuple_writable! {T U:1 V:2 X:3 Y:4 Z:5 A:6 B:7}
impl<T: Writable> Writable for Option<T> {
fn write(&self, output: &mut Output) {
match self {
None => (-1).write(output),
Some(t) => t.write(output),
}
}
}
impl Writable for bool {
fn write(&self, output: &mut Output) {
let bool_output = output.bool_output;
bool_output.output(output, *self)
}
}
static mut ERR: Option<Stdout> = None;
pub fn err() -> Output<'static> {
unsafe {
if ERR.is_none() {
ERR = Some(stdout());
}
Output::new_with_auto_flush(ERR.as_mut().unwrap())
}
}
}
}
pub mod numbers {
pub mod num_traits {
pub mod add_sub {
use std::ops::{Add, AddAssign, Sub, SubAssign};
pub trait Addable: Add<Output = Self> + AddAssign + Copy {}
impl<T: Add<Output = Self> + AddAssign + Copy> Addable for T {}
pub trait AddSub: Addable + Sub<Output = Self> + SubAssign {}
impl<T: Addable + Sub<Output = Self> + SubAssign> AddSub for T {}
}
pub mod as_index {
pub trait AsIndex {
fn from_index(idx: usize) -> Self;
fn to_index(self) -> usize;
}
macro_rules! from_index_impl {
($($t: ident)+) => {$(
impl AsIndex for $t {
fn from_index(idx: usize) -> Self {
idx as $t
}
fn to_index(self) -> usize {
self as usize
}
}
)+};
}
from_index_impl!(i128 i64 i32 i16 i8 isize u128 u64 u32 u16 u8 usize);
}
pub mod mul_div_rem {
use std::ops::{Div, DivAssign, Mul, MulAssign, Rem, RemAssign};
pub trait Multable: Mul<Output = Self> + MulAssign + Copy {}
impl<T: Mul<Output = Self> + MulAssign + Copy> Multable for T {}
pub trait MulDiv: Multable + Div<Output = Self> + DivAssign {}
impl<T: Multable + Div<Output = Self> + DivAssign> MulDiv for T {}
pub trait MulDivRem: MulDiv + Rem<Output = Self> + RemAssign {}
impl<T: MulDiv + Rem<Output = Self> + RemAssign> MulDivRem for T {}
}
pub mod zero_one {
pub trait ZeroOne {
fn zero() -> Self;
fn one() -> Self;
}
macro_rules! zero_one_integer_impl {
($($t: ident)+) => {$(
impl ZeroOne for $t {
fn zero() -> Self {
0
}
fn one() -> Self {
1
}
}
)+};
}
zero_one_integer_impl!(i128 i64 i32 i16 i8 isize u128 u64 u32 u16 u8 usize);
}
}
pub mod num_utils {
use crate::numbers::num_traits::add_sub::AddSub;
use crate::numbers::num_traits::as_index::AsIndex;
use crate::numbers::num_traits::mul_div_rem::Multable;
use crate::numbers::num_traits::zero_one::ZeroOne;
use std::ops::{Add, Div};
pub fn factorials<T: ZeroOne + Multable + AsIndex>(len: usize) -> Vec<T> {
let mut res = Vec::new();
if len > 0 {
res.push(T::one());
}
while res.len() < len {
res.push((*res.last().unwrap()) * T::from_index(res.len()));
}
res
}
pub fn powers<T: ZeroOne + Multable + AsIndex>(base: T, len: usize) -> Vec<T> {
let mut res = Vec::new();
if len > 0 {
res.push(T::one());
}
while res.len() < len {
res.push((*res.last().unwrap()) * base);
}
res
}
pub fn factorial<T: ZeroOne + Multable + AsIndex>(n: usize) -> T {
let mut res = T::one();
for i in 1..=n {
res *= T::from_index(i);
}
res
}
pub trait PartialSums<T> {
fn partial_sums(&self) -> Vec<T>;
}
impl<T: ZeroOne + Add<Output = T> + Copy> PartialSums<T> for [T] {
fn partial_sums(&self) -> Vec<T> {
let mut res = Vec::with_capacity(self.len() + 1);
res.push(T::zero());
for i in self.iter() {
res.push(*res.last().unwrap() + *i);
}
res
}
}
pub trait UpperDiv {
fn upper_div(self, other: Self) -> Self;
}
impl<T: Div<Output = T> + AddSub + ZeroOne + Copy> UpperDiv for T {
fn upper_div(self, other: Self) -> Self {
(self + other - Self::one()) / other
}
}
}
}
pub mod string {
pub mod str {
use crate::collections::iter_ext::collect::IterCollect;
use crate::io::input::{Input, Readable};
use crate::io::output::{Output, Writable};
use std::cmp::Ordering;
use std::fmt::{Display, Formatter};
use std::hash::{Hash, Hasher};
use std::iter::{Copied, FromIterator};
use std::marker::PhantomData;
use std::ops::{Add, AddAssign, Deref, DerefMut, Index, IndexMut};
use std::slice::{Iter, IterMut, SliceIndex};
use std::vec::IntoIter;
pub enum Str<'s> {
Extendable(Vec<u8>, PhantomData<&'s [u8]>),
Owned(Box<[u8]>, PhantomData<&'s [u8]>),
Ref(&'s [u8]),
}
impl Default for Str<'static> {
fn default() -> Self {
Self::new()
}
}
impl Str<'static> {
pub fn new() -> Self {
Str::Extendable(Vec::new(), PhantomData)
}
pub fn with_capacity(cap: usize) -> Self {
Str::Extendable(Vec::with_capacity(cap), PhantomData)
}
}
impl<'s> Str<'s> {
pub fn push(&mut self, c: u8) {
self.transform_to_extendable();
self.as_extendable().push(c)
}
pub fn as_slice(&self) -> &[u8] {
match self {
Str::Extendable(s, _) => s.as_ref(),
Str::Owned(s, _) => s.as_ref(),
Str::Ref(s) => s,
}
}
pub fn len(&self) -> usize {
self.as_slice().len()
}
pub fn is_empty(&self) -> bool {
self.len() == 0
}
pub fn iter(&self) -> Copied<Iter<u8>> {
match self {
Str::Extendable(v, _) => v.iter(),
Str::Owned(v, _) => v.iter(),
Str::Ref(v) => v.iter(),
}
.copied()
}
pub fn iter_mut(&mut self) -> IterMut<u8> {
self.transform_to_owned();
self.as_mut_slice().iter_mut()
}
pub fn sort(&mut self) {
self.transform_to_owned();
self.as_mut_slice().sort_unstable();
}
pub fn into_owned(mut self) -> Str<'static> {
self.transform_to_owned();
match self {
Str::Extendable(v, _) => Str::Extendable(v, PhantomData),
Str::Owned(v, _) => Str::Owned(v, PhantomData),
_ => unreachable!(),
}
}
fn transform_to_extendable(&mut self) {
match self {
Str::Extendable(_, _) => {}
Str::Owned(_, _) => {
let mut fake = Str::new();
std::mem::swap(self, &mut fake);
if let Str::Owned(s, _) = fake {
*self = Str::Extendable(s.to_vec(), PhantomData)
}
}
Str::Ref(s) => *self = Str::Extendable(s.to_vec(), PhantomData),
}
}
fn as_extendable(&mut self) -> &mut Vec<u8> {
match self {
Str::Extendable(s, _) => s,
_ => panic!("unreachable"),
}
}
fn transform_to_owned(&mut self) {
if let Str::Ref(s) = self {
*self = Str::Owned(s.to_vec().into_boxed_slice(), PhantomData)
}
}
pub fn as_mut_slice(&mut self) -> &mut [u8] {
match self {
Str::Extendable(s, _) => s.as_mut_slice(),
Str::Owned(s, _) => s.as_mut(),
_ => panic!("unreachable"),
}
}
pub fn into_string(self) -> String {
match self {
Str::Extendable(v, _) => unsafe { String::from_utf8_unchecked(v) },
Str::Owned(v, _) => unsafe { String::from_utf8_unchecked(v.into_vec()) },
Str::Ref(v) => String::from_utf8_lossy(v).into_owned(),
}
}
pub fn reverse(&mut self) {
self.as_mut_slice().reverse();
}
pub fn trim(&self) -> &[u8] {
let mut start = 0;
let mut end = self.len();
while start < end && (self[start] as char).is_whitespace() {
start += 1;
}
while start < end && (self[end - 1] as char).is_whitespace() {
end -= 1;
}
&self[start..end]
}
}
impl<'s> IntoIterator for Str<'s> {
type Item = u8;
type IntoIter = IntoIter<u8>;
#[allow(clippy::unnecessary_to_owned)]
fn into_iter(self) -> Self::IntoIter {
match self {
Str::Extendable(v, _) => v.into_iter(),
Str::Owned(v, _) => v.into_vec().into_iter(),
Str::Ref(v) => v.to_vec().into_iter(),
}
}
}
impl From<String> for Str<'static> {
fn from(s: String) -> Self {
Str::Extendable(s.into(), PhantomData)
}
}
impl<'s> From<&'s str> for Str<'s> {
fn from(s: &'s str) -> Self {
Str::Ref(s.as_bytes())
}
}
impl From<Vec<u8>> for Str<'static> {
fn from(s: Vec<u8>) -> Self {
Str::Extendable(s, PhantomData)
}
}
impl<'s> From<&'s [u8]> for Str<'s> {
fn from(s: &'s [u8]) -> Self {
Str::Ref(s)
}
}
impl<'s> From<&'s String> for Str<'s> {
fn from(s: &'s String) -> Self {
Str::Ref(s.as_bytes())
}
}
impl<'s> From<&'s Vec<u8>> for Str<'s> {
fn from(s: &'s Vec<u8>) -> Self {
Str::Ref(s.as_slice())
}
}
impl From<u8> for Str<'static> {
fn from(c: u8) -> Self {
Str::Owned(Box::new([c]), PhantomData)
}
}
impl<R: SliceIndex<[u8]>> Index<R> for Str<'_> {
type Output = R::Output;
fn index(&self, index: R) -> &Self::Output {
self.as_slice().index(index)
}
}
impl<R: SliceIndex<[u8]>> IndexMut<R> for Str<'_> {
fn index_mut(&mut self, index: R) -> &mut Self::Output {
self.transform_to_owned();
self.as_mut_slice().index_mut(index)
}
}
impl Clone for Str<'_> {
fn clone(&self) -> Self {
match self {
Str::Extendable(s, _) => s.clone().into(),
Str::Owned(s, _) => s.to_vec().into(),
Str::Ref(s) => Str::Ref(s),
}
}
}
impl<'r, 's, S: Into<Str<'r>>> AddAssign<S> for Str<'s> {
fn add_assign(&mut self, rhs: S) {
self.transform_to_extendable();
self.as_extendable()
.extend_from_slice(rhs.into().as_slice());
}
}
impl<'r, 's, S: Into<Str<'r>>> Add<S> for Str<'s> {
type Output = Str<'s>;
fn add(mut self, rhs: S) -> Self::Output {
self += rhs;
self
}
}
impl Readable for Str<'static> {
fn read(input: &mut Input) -> Self {
input.next_token().unwrap().into()
}
}
impl Writable for Str<'_> {
fn write(&self, output: &mut Output) {
for c in self.as_slice() {
output.put(*c);
}
output.maybe_flush();
}
}
impl Display for Str<'_> {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
<String as Display>::fmt(&String::from_utf8(self.as_slice().to_vec()).unwrap(), f)
}
}
impl Hash for Str<'_> {
fn hash<H: Hasher>(&self, state: &mut H) {
self.as_slice().hash(state);
}
}
impl<'r> PartialEq<Str<'r>> for Str<'_> {
fn eq(&self, other: &Str<'r>) -> bool {
self.as_slice().eq(other.as_slice())
}
}
impl Eq for Str<'_> {}
impl<'r> PartialOrd<Str<'r>> for Str<'_> {
fn partial_cmp(&self, other: &Str<'r>) -> Option<Ordering> {
self.as_slice().partial_cmp(other.as_slice())
}
}
impl Ord for Str<'_> {
fn cmp(&self, other: &Self) -> Ordering {
self.as_slice().cmp(other.as_slice())
}
}
impl FromIterator<u8> for Str<'static> {
fn from_iter<T: IntoIterator<Item = u8>>(iter: T) -> Self {
Self::Extendable(iter.into_iter().collect_vec(), Default::default())
}
}
impl<'r> FromIterator<&'r u8> for Str<'static> {
fn from_iter<T: IntoIterator<Item = &'r u8>>(iter: T) -> Self {
Self::Extendable(iter.into_iter().cloned().collect_vec(), Default::default())
}
}
impl Deref for Str<'_> {
type Target = [u8];
fn deref(&self) -> &Self::Target {
self.as_slice()
}
}
impl DerefMut for Str<'_> {
fn deref_mut(&mut self) -> &mut Self::Target {
self.as_mut_slice()
}
}
pub trait StrReader {
fn read_str(&mut self) -> Str<'static>;
fn read_str_vec(&mut self, n: usize) -> Vec<Str<'static>>;
fn read_line(&mut self) -> Str<'static>;
}
impl StrReader for Input<'_> {
fn read_str(&mut self) -> Str<'static> {
self.read()
}
fn read_str_vec(&mut self, n: usize) -> Vec<Str<'static>> {
self.read_vec(n)
}
fn read_line(&mut self) -> Str<'static> {
let mut res = Str::new();
while let Some(c) = self.get() {
if c == b'\n' {
break;
}
res.push(c);
}
res
}
}
}
}
fn main() {
let mut sin = std::io::stdin();
let input = if false {
io::input::Input::new_with_size(&mut sin, 1)
} else {
io::input::Input::new(&mut sin)
};
let mut stdout = std::io::stdout();
let output = if false {
io::output::Output::new_with_auto_flush(&mut stdout)
} else {
io::output::Output::new(&mut stdout)
};
solution::run(input, output);
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 1964kb
input:
2 bajkaaall aal abca cba
output:
2 1
result:
ok 2 number(s): "2 1"
Test #2:
score: 0
Accepted
time: 0ms
memory: 2248kb
input:
16 a a a b b a aa a ab aa ab b ab c aaz az abcde edcba aaaaaaaaaaaabbb aaaaaaaaabb aaaaaazz az aaaaaaaaaz zzzzz gggggggggggggggggggge ggggeeee hyphyphyphyphyphyphyphyphyphyphyphyp eeeeeeeeee hyphyphyphyphyphyphyphyphyphyphyphype eeteeteeteet aaaabbbbbbcccccccc aaabbbbbcccccc
output:
1 0 0 2 0 1 0 1 1 2 2 0 0 0 0 1
result:
ok 16 numbers
Test #3:
score: 0
Accepted
time: 46ms
memory: 1944kb
input:
90522 cyykzyylklyll ylcyllklzk ttusuuudtdtqus uuddu uefyqfkiblyfkyd ffyyqde qfxqecljeqeedea jqdxf prrbfxdxffpbpp ffppd ynjgygygjnjnjg jgynjggn maenpaksmxyya saxkep nrdnbnjipnjowjz djbwojzrpni oputuoufoojupu uoouopo mphmhphpkpkpmhp phmhpppp zwznzpzqyjczzy wczjnpzqy pfxfxxkfffpfx fxffkffxpx hzdhzhhh h...
output:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 2 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 2 3 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 4 1 2 1 1 1 1 1 3 1 1 3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 4 1 1 1 1 1 1 1 1 1 1 5 1 7 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 ...
result:
ok 90522 numbers
Test #4:
score: 0
Accepted
time: 54ms
memory: 2032kb
input:
100000 qpohohoqoyqqtkqoqqqfl qptqyqq yrirresrslrssrrryysrs srysssy qqtqqslrrsrlfmqtssrhr rsfsq jfejsqjyflsqqlyydqdts yqsjj zrzrezrzzszzrrrrrrrrr rrrrrz ifqgfqqfttbbhgoqqgiqq iqgbggq xejojrxlglerjgjljppjv jjjje whhtowwwwhrhhthttombt hoohh tqwthgtnstqtwattstwww tsqwwqs cwurupfwrkckupkckpkzu pkcp ogonm...
output:
1 2 1 2 3 1 2 1 1 2 1 1 3 1 1 1 1 1 1 1 1 2 1 1 1 1 2 2 2 1 2 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 5 1 2 1 1 3 1 1 1 1 1 2 1 1 1 2 1 2 1 1 1 1 1 2 1 1 2 1 2 1 3 2 1 1 2 1 3 2 1 1 1 1 1 3 1 1 1 1 1 2 2 5 1 2 4 1 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 ...
result:
ok 100000 numbers
Test #5:
score: 0
Accepted
time: 47ms
memory: 2312kb
input:
88214 lysxulsgzsxybcgbbcglx zyysssu kdlrkfhkzkzqqdkqoqkfr loqkkqh ceaiiaipiipzazizpaaiz ieaicai jbjzowzcaioauqmbiuzjm wcq kdnkdddddjcdmndkmjdkd dcdjnj ywruruwpyuwpwwwzxuxwz xxrwwuu fapaffifoafopyyaiaaaf ffffoyp zzzvzaavazvazzzzvvzzv avvvavv fbtubsuubsufstbdfefet bedue bylyggblggvgbymybvlvg vmvg aara...
output:
1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 2 2 1 1 1 1 1 2 6 2 1 1 1 1 1 1 1 1 1 1 1 2 6 2 1 1 1 2 1 1 1 3 1 1 1 1 1 1 2 1 2 1 2 1 1 1 4 1 2 1 1 1 1 1 1 1 1 1 1 1 1 2 4 1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 1 1 2 1 1 1 1 1 1 1 2 2 1 2 1 7 1 1 2 2 1 1 1 1 1 2 3 5 2 1 1 3 3 1 1 2 1 ...
result:
ok 88214 numbers
Test #6:
score: 0
Accepted
time: 44ms
memory: 2128kb
input:
95170 vlrsovvpollyrorrl lrrrly btcbtenuvbsbapw bcbuse hlxyhhhbhuxhybxh hlxhx qgiccigisiiiirci qcc jxpjjjhjojojhj jhjph xxwwwewtweeed wt yxxbqjzjnblzjmn znq rbmbbbbbbmrblbmb mmlmb rneccaccrtchnxorc athrrc kkxkxxkxxkkxxxk xxkxkk donsxndqd nn csccvvscvvcvzc ccvs bkhhkkhkh hhbhhk mwvmvpmwjjpepvwer ejerj...
output:
1 1 1 1 1 1 1 1 1 5 1 2 1 1 1 2 1 3 2 1 2 1 1 1 1 1 1 4 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 4 1 1 1 2 1 4 4 1 1 1 2 1 1 1 1 1 9 2 2 3 1 1 3 2 1 1 1 1 3 1 1 3 1 2 1 2 1 1 2 1 2 2 1 2 1 1 1 1 1 1 2 3 1 2 1 1 1 1 1 2 2 1 4 1 1 1 1 2 1 1 5 2 1 1 3 1 1 3 1 1 2 2 1 1 1 2 4 1 ...
result:
ok 95170 numbers
Test #7:
score: 0
Accepted
time: 41ms
memory: 2236kb
input:
96180 rqkdfgusdfgffjkru jkksq ddeeeddeuude duue vuyuluqyqjwyqqjwwj uylvq srnlpkpoeggywrdpig ppgpg stqxlqxqsqqlssq lxqlx sbpsnnfbnppfnsjp nfjsb bvqmbbgbzkgvkkgqmz qqb kkkhhlhvhhjhhk hvjl xxqyxeqfbssyeewex wsf twmlbtitqltmik mm ccbczbccbycbceb ccccb msmjjmpifepj mjsjj kbmkkbkbkmbkmmkk bbbb fpgfrpbkrrh...
output:
1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 3 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 2 3 3 1 1 1 3 1 1 2 1 1 1 2 3 1 2 1 1 1 2 1 2 2 4 1 2 1 2 1 1 5 2 2 1 1 1 1 1 4 4 1 1 1 3 2 1 3 1 1 1 1 1 1 1 3 1 1 2 5 1 1 1 1 2 1 1 1 2 1 1 2 1 2 1 1 2 10 2 1 1 1 1 3 2 1 1 2 2 1 1 8 1 1 2 1 1 1...
result:
ok 96180 numbers
Test #8:
score: 0
Accepted
time: 37ms
memory: 2200kb
input:
84351 bkiiiekpipghhkhhpia abgh vchhuubuhbnhzxdg huuh yyeoyeereybieerry ryr ttzwzwtzzzcwztww t xoxokixkkkck xxoo lcrzzlbcuzgggakldzg blll lohwlllrolrlkllwln nlkh zosszzookkongnkpnn nkgp zzqqqqqzzqqqqrzrzqq zzq pqupfefpqwezuzppbq q kxoxhughuuuuugk huuu gkbsnwnnnupsnsnrjzs nk mbvmxttddwdvzv vxdm xnptax...
output:
1 2 2 4 1 1 1 1 5 3 2 1 1 3 2 1 1 2 1 1 1 1 2 1 1 5 3 2 1 2 1 1 4 1 1 1 1 1 1 1 3 1 2 1 3 1 7 1 4 2 1 1 1 1 1 2 2 6 1 9 1 2 3 1 1 1 1 1 2 2 1 1 1 1 2 4 1 10 2 3 1 2 2 3 8 1 1 3 1 1 5 4 3 1 1 2 1 2 2 1 8 1 3 1 1 3 7 1 2 1 1 1 2 1 1 2 2 1 2 1 1 1 7 1 5 2 2 1 1 1 3 3 1 1 2 1 1 2 2 1 1 1 1 1 4 2 2 1 3 7...
result:
ok 84351 numbers
Test #9:
score: 0
Accepted
time: 43ms
memory: 2092kb
input:
99795 qimqpqdqnmmqprdfqpqqe imp ttzswwzwzszjjzwjzzoowo wto zzwwzzwwwqgppzpwpizq zwp juaiaiiiiaaajijiiaqrti jra ynydxdnyyxyyxxtdyyrby ydy ggweegjowgspqvbpkwcw pbp rgrrrreimvvggrardrr eri gonotggooogovbnodocw nt hmqkkqzmzrkzmmztk tzh hqjghjhjjhdgdjhhhgnnh hj szfjjqjbsbjjsjzjjss zsz ntmeiimiimpibujiiix...
output:
1 2 4 1 3 1 1 1 1 5 1 3 1 1 1 2 2 7 3 1 1 2 1 4 2 1 9 1 2 5 2 4 1 6 1 2 7 7 4 2 4 4 6 5 2 1 1 1 3 4 2 2 1 1 2 1 3 1 1 1 1 3 1 21 1 1 1 1 2 4 1 3 1 2 2 1 3 1 2 1 2 2 4 4 8 4 1 2 2 1 3 10 3 3 7 1 1 3 1 2 1 2 1 1 1 1 1 5 2 1 2 2 3 3 5 1 2 1 1 1 1 1 1 2 4 2 5 2 1 1 2 1 4 11 1 1 4 2 2 9 7 2 1 1 1 1 2 3 1...
result:
ok 99795 numbers
Test #10:
score: 0
Accepted
time: 35ms
memory: 2032kb
input:
97112 nnnhnoogzhzho zgonzngnonn znzyzanuaaaaa aznanaazyzzna wrwwtvwwwwww rwtv xjfdojyjvvaaa dvvxfovvjy ymqyyymiiyyyy mmqyyyqq qbbppuqqccpbq qcbuccqpcu trrsttrstsv vvsrrs yedyedyyddedx yxxddyyxxyx alvxdgdguydal uxyddv gfgggxgigi ggggggi yffjyfjfijyf jijiiiiif ctccttce ee qqxqdxdedquud qeedeeeee gzgqy...
output:
0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 4 0 0 7 0 0 0 1 0 0 0 0 1 0 0 1 0 2 0 1 4 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 3 0 0 1 0 1 0 0 0 0 1 0 3 0 0 0 0 1 1 1 0 3 0 0 1 0 0 1 0 0 0 0 0 2 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 ...
result:
ok 97112 numbers
Test #11:
score: 0
Accepted
time: 50ms
memory: 2116kb
input:
83674 ssspsssspssssspsssssspsssssssssssspsssssssss sspssssspss gggiigggiiiigggggiiigiigggggiiiigii gggigggiggg djjjjjjjjdjdjjdjjddjjjjjjjjjjdjjjdjjjjdj ddjdd ttttttttttttttttttttttttttttttttttttttttttttttttttd dddddddddd aaaaaaaaaaaaaawaaaaaaaaaaaaaawaaaaaaaaawaaaaaaa wwwwwawwwww ppeppeppepppeeppepp...
output:
4 4 3 0 0 4 10 0 0 6 5 1 1 9 0 12 8 4 16 0 0 21 7 3 2 5 0 7 8 13 37 9 6 3 0 0 0 1 14 4 0 2 5 1 0 0 5 9 38 4 0 0 0 0 0 3 4 5 1 0 4 3 2 32 0 2 7 5 0 1 0 8 1 0 0 14 28 0 0 0 14 7 7 0 2 14 0 0 1 1 7 0 5 7 0 1 3 10 4 0 2 0 6 1 1 4 1 7 2 1 0 0 1 8 3 11 3 10 2 10 5 42 1 0 2 14 4 0 6 3 2 1 5 1 1 3 3 0 10 7 ...
result:
ok 83674 numbers
Test #12:
score: 0
Accepted
time: 45ms
memory: 2060kb
input:
62490 zzzzzzezzzzezezzzzzzzzezzzzzezzzzzzzzzzzzeezzzezzz zzzzzzzz hhhhhhhhhhhhhvhhhhvhhhhhhhhhhhhhhhhhvhhhhhvhvhhhhhvhhhhh hvhhhhhvhhvhhhh qqqqqqqqqqqqqffqqqqfqqqqqqqqqqfqqqfqqqqqqqfqfffqfqfqqqqfq fffffffffqfqffq aaaaaaaaxaaaxaxxxaxaaxaxxxaxaaaxaxaaxaaaxaaaaaaxaaaax aaxxxxxxaxxxxaxx wwwjwwwwwwwwwwww...
output:
35 4 1 2 41 7 30 35 17 1 1 9 21 8 40 6 5 26 8 2 3 16 25 9 10 28 5 10 9 27 19 20 1 10 43 3 20 25 4 3 34 20 16 1 7 4 12 5 2 8 1 2 2 7 4 3 20 12 3 22 5 5 2 20 7 5 18 8 13 8 9 20 11 4 1 21 16 46 47 8 8 10 11 3 3 5 8 9 10 8 11 15 8 7 3 36 17 6 10 8 13 11 34 5 11 9 10 10 1 2 10 18 11 2 8 13 9 12 24 19 13 ...
result:
ok 62490 numbers
Test #13:
score: 0
Accepted
time: 27ms
memory: 2036kb
input:
16387 mmmmmmmmuummmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmummmummmmmmmmmummummmmmmmmummmmmummmmmummmummummummmummmmmuumumummummmmmummmummmmmmmmmummmmmmmmmmmumuuumummmmmmmmmmmmmmmmmumumummmmmmmummmmmmmmmmmummmummmmmmmmmmmmmmummmmmmumu ummuuuuuuum thhhhhthhhtthhthhhhthhhhthhthhhttthhhhthhhhhhthh...
output:
15 52 37 60 11 109 64 25 21 14 59 36 73 65 8 47 27 10 50 36 25 38 9 56 62 43 30 31 35 139 58 17 28 59 92 9 62 15 82 71 97 94 16 23 1 8 61 159 38 8 103 88 32 18 18 18 55 24 43 4 35 17 30 36 35 138 7 12 17 41 99 13 59 2 67 139 3 201 22 34 41 81 109 13 15 28 42 12 28 42 10 31 53 91 45 23 32 36 31 36 32...
result:
ok 16387 numbers
Test #14:
score: 0
Accepted
time: 59ms
memory: 2032kb
input:
95000 ffctccfffcfft cffftft nnuuuunuunnuuuuaunuuuuuuuuuu nununnuu aaaaaaiiaiaaaaaaiaaaaaaaiaaagaiaa aia sggsggsgssyssgsgsyggysgggss ygsygg kkkkkkxrxkkkkkkkkkkkkkkkkxkkkkkrk krxxkkkrk ykhhhyhhyhhhhkyyyhhykhhyyhhky khhyy fffnnnfffkfnknknf nffffnkn glllllllllllllllllllelllllllelllll ee eieieieeeeeeiiee...
output:
1 3 6 2 1 4 2 1 1 1 4 1 1 1 3 1 1 12 10 2 1 3 4 1 1 1 3 1 2 1 1 1 1 9 13 3 1 2 1 3 1 1 1 2 3 3 9 3 1 23 2 1 2 1 4 12 1 6 1 2 9 1 3 7 1 2 1 3 1 2 8 1 2 13 2 6 1 1 2 2 1 2 1 1 1 6 2 1 5 1 7 5 7 12 17 2 1 2 1 14 7 3 8 3 1 1 5 1 2 2 1 1 5 1 3 4 1 11 5 1 1 4 7 16 1 1 1 1 2 5 1 3 2 2 1 9 1 1 6 5 1 1 3 1 7...
result:
ok 95000 numbers
Test #15:
score: 0
Accepted
time: 55ms
memory: 2196kb
input:
92634 qhchcqchhchqhqhhchhhhqqhhhq qqqqqqq mmlppmplpmmpllllmmpp lllll qqngnqgnngqqgnqqqgnnqqnqn qqnqnnnqq tjtjjggttjtjjttjjjjjggtjg ggtjjj ollllloolllllollloolollololllloll lloollloo fxffxfflflfxfflxlffxxlx xlxxxxxxf rrnnrrrruunuurrnurnunrrnrnrrrn nnrrnrnn usssussuuuussussssusuusuuuus usuusususs qccq...
output:
1 2 6 4 7 1 3 10 1 3 1 6 6 2 4 18 10 3 4 2 2 6 1 4 1 4 1 2 4 1 1 5 1 1 3 5 1 5 2 2 1 3 4 3 5 1 4 2 32 8 3 6 2 4 8 1 1 1 3 2 1 1 4 2 1 1 2 1 3 6 13 1 2 3 3 1 2 5 5 1 1 8 4 11 1 2 6 3 4 1 5 6 1 15 4 5 7 3 6 4 3 2 3 3 1 1 1 1 2 7 4 1 2 1 3 4 6 2 5 1 4 1 8 1 2 1 2 4 13 5 1 4 22 1 2 12 2 2 3 2 1 1 3 2 4 ...
result:
ok 92634 numbers
Test #16:
score: 0
Accepted
time: 59ms
memory: 1952kb
input:
92852 xxxxxxxvxvvxxxxxvvxxexxxxxvvxxxxexxvx xxxxxxxxxvv rhhllrhlhhhhhrhrlrrhhrrhhhllrhhhll hhrhlhhhhhh hplphppphhphphpphhpphhhhhhhhphhpp phhhphhphph jjjjjjjjjsjjjjsjysjsjj sjsssjsjjss bbbgbxxggxgbgxbbgggxxgg xxbxxbxxxxb svsvvvvvvsgvvvvsvvvvsvsvsvvsvsv gsggggggggg gggklkkggkgllglgklkkkkglkgklkkkgkgg ...
output:
7 2 6 0 0 0 3 1 0 1 0 0 0 2 0 2 0 0 0 0 0 0 4 2 1 2 2 0 3 3 2 0 0 2 7 0 0 0 0 6 3 0 0 0 0 0 2 0 5 1 0 0 0 2 0 0 3 0 0 4 0 3 1 1 1 1 0 0 1 1 2 1 0 1 6 0 1 4 3 1 0 1 1 0 3 0 0 4 1 3 1 0 0 0 1 2 1 1 0 1 6 0 2 1 4 2 0 0 2 0 0 1 0 2 0 3 1 0 2 0 0 0 0 7 2 3 1 1 1 1 3 2 0 0 3 1 0 0 5 2 3 1 0 1 2 0 0 0 0 2 ...
result:
ok 92852 numbers
Test #17:
score: 0
Accepted
time: 30ms
memory: 2320kb
input:
18912 uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee...
output:
77 67 17 266 114 216 247 57 82 264 103 247 276 36 93 244 100 243 30 139 244 282 68 14 101 256 12 65 5 216 152 234 182 5 271 197 327 200 65 45 166 271 141 167 169 208 70 135 139 143 15 99 194 146 12 75 169 282 179 255 47 39 254 161 246 22 34 59 37 178 140 122 324 65 46 138 65 220 51 119 258 272 26 19...
result:
ok 18912 numbers
Test #18:
score: 0
Accepted
time: 71ms
memory: 2076kb
input:
93950 jtjatjtjtatjjjajatjtj jatattjjjtaajttjj xxxxgcxgxggxggccx xxccxxcxgxx nttptptnpptnnppnnpnnptpntt nnpppnnnppnpnnn kyhhkkkkhkyhkykyhhkkkykyhky kkkkkkkhyykkhhky nmmmmmnmnnmmmmmmmmmmmmm mmmmmmnmmnmmmm vvcvkvkkckkvcvvccvvvcv ckvvkckkccc jffjnjfjfnjjnjnnfjjnjjjf jjjjnnjjnjnjnj dtdwdtttdtdtdtdttddd d...
output:
1 1 1 2 2 1 2 1 1 1 1 3 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 3 1 1 1 1 1 1 2 2 1 1 1 1 2 1 5 1 1 3 2 1 1 1 1 2 3 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 2 1 1 3 1 2 1 1 3 2 1 1 2 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 2 1 1 1 1 ...
result:
ok 93950 numbers
Test #19:
score: 0
Accepted
time: 68ms
memory: 2252kb
input:
97146 rrvrqqrrvqrveervrvrevr qeevvvvrvqqv ffqpqpfppfqpppfpkppp kppppppqpppppf iifmfmmfnmffmfffmffnmf minmmfmfmmf beenaeeeebeeeeeeneeae ebeeeaeeeeebaeee eeseskksekskksksesesks sseekkeksskssssk kkkmmkekevveevvvkvvkvk kkkvkkevkkvvkv nnnnnnhhnjhfjnnnnhhnhn nnnnnnnnnnjjnnh vnaqaaaaannnnvanvaqan aavaavava...
output:
1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 7 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 3 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 5 1 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
result:
ok 97146 numbers
Test #20:
score: 0
Accepted
time: 23ms
memory: 5860kb
input:
1 bsjgcfpiktklxlxlfqkwqluatehtlphewnurduntychudptiocmecijoirykdomylbxakttepugeilrftyfhiljfbnasluzwoyntlhaerrlkhhhayzswixqqtvxhusqdxeyujaqcgfqjcjttuppajzatxskluixtmbyuiosymyquelrzpnyspcqpuejmwtqwfdszucwpvlenvjqmzmeaebmzgdqxybmzazfkrtopyxfosjwaonzsofecfcimnrijfxxaeathrxsoauyqcbiqafmhkqrnrjtxblbliwhwvq...
output:
1
result:
ok 1 number(s): "1"
Test #21:
score: 0
Accepted
time: 22ms
memory: 5920kb
input:
1 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
output:
1
result:
ok 1 number(s): "1"
Test #22:
score: 0
Accepted
time: 13ms
memory: 4944kb
input:
1 hxxfiwatcuhxnyklydflhvnzxwdgdypkkkqlzkjjzvcgvpeiqftqyvyhqjgkpvpujbbqnoupkpabfmsmfmmpdfsdzomlvpiejqgespwsromrzderhwtblwslycqoqgkovcwikwqgginfvqpbxradluhmfypvmzirbfwttpadqdbvwvvkbnbdahzjhyiwwklcqekppvlhwfpxpokvmubmknvcwsqektnqvguqzzteccsevyauowmmlkcvgjycbwadhqfuhtcywrpshlvemaeerjftbnsodudxsvbljyxnuo...
output:
201
result:
ok 1 number(s): "201"
Test #23:
score: 0
Accepted
time: 21ms
memory: 5384kb
input:
1 csozmbzomyyzdvvmfiwqjzxuixtniespsnmybsvsxqfcscwmxskcozwwzuwczyzsuwxismszismswsveqczcsozsnvnzqpszzszmyvemwmfwqmksuzxestsusfuumsmmnmsyccusinzfbwsysvzcmnzcmrmxgibzxiewsmnzmwsmewsejswzqzuekrvuzmcwsouesstguysuukuwwuviywxmtmlsnuswimmwknygcsxzymcsszsufefzzwgiwusguxzzswxcsciznzsiomxzwzokmmusosczxoccuniimf...
output:
35
result:
ok 1 number(s): "35"
Test #24:
score: 0
Accepted
time: 12ms
memory: 4360kb
input:
1 wmikwxmwsoasiqxigsgusfhszunrxmkwlcdgdxzwcgbnlllasgwsedwxkztlowfztntlvgfdjvzdjwxphvgdblskunnkqlmujzlilqiltxcyybxdfciziyfbpgiksqrneimykxncljjhkweuqznfrkyrltffggbmxbdhqkxndnizqfycugfoskgbayznludvdatzsdltxayqimlowcfqzelskademprtljdfdjcdyurmvltzvpkxuzddlcnjbsptdnzleasijkqqrrjgtyntwunzdiaiigwcqswhalqxdd...
output:
15
result:
ok 1 number(s): "15"
Test #25:
score: 0
Accepted
time: 16ms
memory: 4576kb
input:
1 ppppphpnrphpnpmppmpppnppdmmmpppppnmmpprmdmpppmnnpmfmwmpppdrphprhwmppmppppnmnmmpppmpnppnpppdwmkppptppnmmmppnmppppppnmppodnpnmppmpmmmpnpmmpvpmnpmpnpmpppppnmmwvnnmpdmppppmmnpvppndpmhpknhndnpdptpndnppppvphmpproppmhppppmpppnkprdpnnpmhpppdmrpmpmnpppppmppopptnpppppnnmponppppppdphvnpppmnprpmmpmdptpprnpmpm...
output:
1
result:
ok 1 number(s): "1"
Test #26:
score: 0
Accepted
time: 10ms
memory: 4680kb
input:
1 nwdvjpruhrgysbxjkjhdehebtuwjyksphydmzcfzvckugojwgklceyifgevybwnsunbakiwqxieztmtoatjkjvxniqfhpogytgmlejvhpuydtabpsmtdxaesquhwxuiwjceuzwmwilqfsokjoobbegrpojssaqeojdejjgdjwurortoiqqrscwfaqjotzcchiisjnqcphjppttivlidpfmpulwsvcxrdjgzhuqxjncjlharowhxqnmqopqzldpgicamlgqjdxutxkuavaqhxksfxicmvdnpillucyeptoy...
output:
319
result:
ok 1 number(s): "319"
Test #27:
score: 0
Accepted
time: 25ms
memory: 5908kb
input:
1 dlenbdsjmzzslmaqpqkggzpjuxkkltswnzgaaixgfiriuukfblqnmhqdiviugzdiryxplyfitzjbavhpsemhpdpgnpetfyldtlmgpgzdwdothoczjnksqjtedtvxndvfdttkefptrychboyzvczxdneueaipmnpqbwmxcgowkkdhykxlsqrczruqdvmfhdmvvsssymyyuuwlsjmkgrbnvikrosflptsnyadlkcczhxydrdtdxyytyqzpgojjprcrhuysiwailzagjxztaxqpgjxkidyngwdcpouhezjbvv...
output:
12
result:
ok 1 number(s): "12"
Test #28:
score: 0
Accepted
time: 16ms
memory: 5896kb
input:
1 stmzbeafwzvavtvumqopjdsewpsqdvhcokdjevlzklvqxljzslxqoxxhsqvdiplhjkzklpaguytuiqastdmxojppzuunsyvzvvyfxckhvkwzewhsrnbuoflagyjbnnqqqabpcecgnaydauunmaxpkchaeqsuxhyiztdyxcljyujxhdkobdgibvlnqcmkyzuujovxqphiguggnvxhmrldcbnvdnxkjxdnimnptmirqipajvvxxymaosvnczfohuglbzqnlufgwrifyebczlgvemypbucibeovuyqxwxonmm...
output:
0
result:
ok 1 number(s): "0"
Test #29:
score: 0
Accepted
time: 23ms
memory: 2076kb
input:
2000 ewpuhshjepfwsvxorkneeollbfrvwlgedfamwnqqhizlqjjsotjeoljcykllyhkjugogjgqqqbteisersjwgkwrewsmsubinkydvwgbrgaunjbxiwtofmknolgbkxzianfpczceayrlyyonnowhqdgvswslkqqwoyvhtfyblvchyyfttfbuodzkqquluwgwkhvrgjdrzcllsqjceohvdonhojkmiwnqogyznjqlxuvohwxindtwsiaeovyadukmyzvpohdsbdllzmchiyapsztbhhaazccapyxtnffo...
output:
0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 1 2 1 1 1 1 1 0 2 0 1 1 1 1 1 1 2 1 1 0 1 1 1 1 1 1 1 1 1 2 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 2 0 1 0 1 1 1 1 2 0 1 1 1 1 1 2 1 0 1 2 0 0 2 0 1 2 0 2 1 2 1 1 1 1 0 1 2 1 1 1 0 2 0 1 2 2 0 0 0 1 1 2 1 0 1 1 1 2 1 1 2 1 1 2 1 1 0 0 0 2 1 1 1 1 1 1 1 2 2 1 1 0 0 0 0 1 0 0 ...
result:
ok 2000 numbers
Test #30:
score: 0
Accepted
time: 21ms
memory: 2076kb
input:
200 ckkuibmjprqcvjyzogypzerpgrnvfonhknyuwqfsqrkobscjugblsrinyabdvtlufcexservhwwvwhimcouaydmvytgliaesgrcxptnthengufeagnfpagjjzvesckpzhjwdfgvoswfgadnhkybsbljmjbivvwofmqqpriucmtqtvxhdeczqoikxpkqzdnqogjgnglodixwoctddkhqjvbivarebfzeiewwliwynpyvkdkexjoiboojfdbuvvtlcererhexlycnurgzsrllbopnnqsgkggflxqrggzjg...
output:
16 17 15 15 16 17 15 15 19 17 15 15 17 15 15 18 17 15 15 16 15 14 18 13 16 16 17 18 18 16 15 16 15 17 14 15 15 13 15 15 16 14 13 17 14 14 17 16 17 17 16 15 15 18 16 17 15 16 16 15 17 16 14 16 15 17 15 14 15 13 17 17 17 15 15 15 15 13 17 15 16 17 18 18 15 17 16 13 15 16 16 17 17 19 16 14 16 14 13 17 ...
result:
ok 200 numbers
Test #31:
score: 0
Accepted
time: 22ms
memory: 2356kb
input:
25 sjegbncuyvchkqxmzmgioxvuebhxdnkhroreaiajrrlhfguyqoomlrjmpadcwuefyymnlutdxpuliujluooewjwyzjeaggkhsetzyojpzleyijuxtogjmqpjjpupxlthzutbtcbsvotxlmwpvnylovhbaolcjefplxbjwtrxgpdluljdzixibgteehyouaqvsvakxacbttplvozkbepzwujulfjvqdetdrzeqvsmmfhlhvvnecpozxckvhchgyharhmfhjpflylszhjrdemoaeuqzdadmrdtxkkzlxmci...
output:
29 30 29 32 26 28 30 31 29 29 29 30 31 30 27 30 27 29 29 29 30 29 27 30 29
result:
ok 25 numbers
Test #32:
score: 0
Accepted
time: 23ms
memory: 2668kb
input:
16 lsqppylqlmqvqyyosolboyqlfqlvsqhqucvqqoqcsyxzzczdayyayzqzusovyoxooqgoyzhnyqlywvdhylyonqufzashooqofqfydpzbhoyvsvfquyrswmfqqsxyoyxsqtozphlofbbfswbjhsalqysqsqeqyeolvdhzqaataybaxqhshvvlqqcbovsavhdqhlyvlklsacqaomvsbnhpqpnoaqoyayovvthqbwwcqnfmobayycbqybfsfsoaqqchqqzsvsoqcyqvoavoaosvboqyzstzlqxvqwbbyyvlv...
output:
11 12 5 9 8 9 13 9 6 12 9 4 9 7 10 11
result:
ok 16 numbers
Test #33:
score: 0
Accepted
time: 13ms
memory: 4968kb
input:
1 poojkzobzozbbkpkhjkebwkbbwwbzuuzoobubnoikbkuzokzbuwunbkbgubjjuwwwkwbbbkbezbuzguwozokzubkobbbwwwwbgkkwcbufzbjowjkzwkkbupjepubbzkwiwoobokpokjekwkkbnmobzuwuzugzebkkguojbbbuupwuekwwuxpzwknohuxzkpwokzbzijokuwkzobwwzbwokfobpifpbwwfukkzbuoobngwfunxkwnozkowwozzonhoukipjzfowuwpubkjzkjzznfaiwkuehbbujwhpzpwz...
output:
9
result:
ok 1 number(s): "9"
Test #34:
score: 0
Accepted
time: 17ms
memory: 4868kb
input:
1 bxcxmgmcycxxcggxczhxbmzhcgcxczzmzjmcxoccbhmgbhcxbcfbmcrmcroazzjmzjgxcmxfcgbfbfxmzzaomvobjxcamzxbbobhmamgxbvzmmbbjgfbzxxgcazgrccbgcgrzmfzzzrmzbhbomghcxbmbgzghgmbhjzxmbbjndgbvzzbfxbxzbmzmcmmzrbcrmbhjcbrhbcrxmmmzbrzmxmhxbggzmmmhhvhzcbbrbcggzzizbobzzffjcrxbggighhfcgrkbibmbhgmgfrhzhrczbhxmhbcofmmamfmmr...
output:
38
result:
ok 1 number(s): "38"
Test #35:
score: 0
Accepted
time: 19ms
memory: 5120kb
input:
1 dlmxdlwlvxwonlhkyawvmpxvxamhqmvxxvpulnqtapkfuqcxlwsuulmtxxnplqkfxkuxvftmuxtmnmwmlmmvolwmpnxplmoqqpgzgvmwvlmamkxvxpftutwvpwnnxxotxqvptgxltmlmuxhqkpwvggxmqltvvvuxfqxvvlpnmumlmmeumvxxwexnlllufpxllowulcxqukxwpxlnuawllxfttumxzmvxvqamxlvdqntlyvktowlpvllpnwmqxlwyuwlqukfwuxpxkxnmvvwvmxptwsxnpkxexqtyfxaxnw...
output:
76
result:
ok 1 number(s): "76"
Test #36:
score: 0
Accepted
time: 20ms
memory: 5536kb
input:
1 bfzbwjiqajspnjjiwpbpspsjpbhjbsswjwuwjkujpjjbfogsbjbjcejpwjsuaspjsbfwjwbsjpsbjnossijjcjnjbmbsjetkapajjbshjwiwblbnbajjfulkccuqqacbcjccpjjbjqnwvvpbbkuiinewzjwfijpjjqnpjnbnfnnnbvpbjpujosbbqsjpbcsbwbcjwbbmnpihushjumspjspjsuwhbjbqijvcbwcplwpjqnljsjpqhpbbpwputqjkjujsccvsbbwhjjbwbbbbjpjzbjjbpjnjhnshowpbwp...
output:
172
result:
ok 1 number(s): "172"
Test #37:
score: 0
Accepted
time: 21ms
memory: 5332kb
input:
1 yfeybtbbviubfybjkfcffibbulrblxvfbezfbufyejiumufbfzlkabfufrfxflafhfiuiydtzuhliflrflflzyabfafbaffbujvfuyazahukhvbnsubzcmfbbfauyyuummbfapacfffiufmfcfbfrkuzmuugrmgbuvducccuzyfhcbbbfuuuiaylzrzffhcfffrsfuuuuuauzubyawfvlfaxygfcbuulvabcazvxvuuubuyufffudaffdadbbffafruvbufauvuffabhawlulaydwbuzzufyuwpbcfcflf...
output:
393
result:
ok 1 number(s): "393"
Test #38:
score: 0
Accepted
time: 19ms
memory: 5116kb
input:
1 hpbcfnfivpmpdhppaxpdaipzfvzbfufvyypfzuhxdvfpdfvfpfvcvfpgfkeigpcoxfxdfpffglazpjygujrjwzpifraspgvhfjxhpunpvxmvvetaqppbvalijtkpupzhvnzrjzcfdasgpffubhidncfvzvpfyjdhagptopfpidjvknppxhyffzvpfufdzfyhfhppdefxuhofwfxfvbosftzfdafpnvvikbfvfqrffgyfiappahffvhrfannxztrvfppnjbfgvfgfplvvpejdpyfqcbqgwaacfzzihvhwhe...
output:
1814
result:
ok 1 number(s): "1814"
Test #39:
score: 0
Accepted
time: 17ms
memory: 5380kb
input:
1 ycxjnjztpcvgehtcwzbccwqcwrcfvxtyotppqxkqowcucbwwrfqacjvcjbicdcrbrjviitqbotcuihzplbutvmcctctwlccjgqbpuyhprcscrwxzhkcwnwiaqqbprdmcckrccitpsapcymrcrydkrtixummqcitceqyicsrcuyrphftcisctblzdlbrtrytlcxtpccicjqimttcdqiptqcpebhmteebcipecrcalutsuigycsgszyotvtcazjszmmincycgtqcynceiccqtqcectqpczsjcchxzjtsaqro...
output:
3303
result:
ok 1 number(s): "3303"
Test #40:
score: 0
Accepted
time: 11ms
memory: 5048kb
input:
1 yyyxatwkwppwkylwtwgwqfufixqvgptqhteqbybpquwncakktgklppbdhvhkvgtgktbhpjdqyzixgwmfqqypqigooxpeojgtzdtbocfpdblguaxtpnwxkawsyfgplpkrygyszhwgsxjuniuufbssyyiqwocgtpefvgtkbpojttjxthiqwydfqpkxnrlacwoyqrqsvtpwyrfpbbjqszpwtxgfydoaajuytpzdauwysytttgocvtjgnysbxcbgtwwcyvyqwrxllwwzbtqbzdbjqwtcqlgbyykjgbwrqfngik...
output:
21979
result:
ok 1 number(s): "21979"
Test #41:
score: 0
Accepted
time: 14ms
memory: 5224kb
input:
1 fvolrrxzflnjzlrrepwpppxuwniefmmlvtfrfjfnogxybnpucutpzpfrrxxfsnppxfhspqpjoxruygszwzddarmuewcwuaddgolwsggsagufwpbrffemwrzctryklxrdkmfsxfzfopxteepsnzzpmjpwwmppmpjajnfggbpxxxrrfpdbsmxqyxlrrfxzecsshfbpfnutxmtgwxpnxgoamnqpwtybigrhxyoxnazdrxsskpdppewcgrzrsmrjwdunjmtgxppxpdjcvtrrnpnjbfdfxgzvtdiirvgplxrqkp...
output:
19814
result:
ok 1 number(s): "19814"
Test #42:
score: 0
Accepted
time: 21ms
memory: 5300kb
input:
1 qqqdddddqwdddddjdddjqdqwddqddjdjjdwqddddddddjdqjjdwqddqqjdqdddqwjwwdjwddqdwwdqqdwjddjdddqjddwddqwwjqdwwqqdqjqjqwjjdqjwqwddjdjjddjjwjwdqdwjddjwdqddwjjdqdddqdjjdjddwwjdwdjqjjddqdqdqwjddddjqddqqddjqwddqwdddqqqwdddqwwdwqjdddddqqdjwdqdwdddwqdqwjqqdwwqdqdddwdwwddqqdjdwdjdddwjwdqwqdwdwdddwqwwwqdddwjdddjd...
output:
55556
result:
ok 1 number(s): "55556"
Test #43:
score: 0
Accepted
time: 21ms
memory: 5332kb
input:
1 pmpmppppmpmppmpppppppmppmppmpmppmmmmpmmpmpmpmmppmmpppppppmmppmpppmmmpmppppppppppmpmpmmmpmpmpmppppmmpmppmmmppppppppppmpppmmpppppmpmppmpmpppppmmpppmmpmmppmmmmppmppmpppmpmpmmmmpppppppppppmpmpmpppmppppmmpppppppmpppppppppppppmpmpppmpppppppmmmppppmpppmppppmppmmpppppmppppmpmppppmpppmpppmmpppppppmpmpmmpmm...
output:
154322
result:
ok 1 number(s): "154322"
Test #44:
score: 0
Accepted
time: 17ms
memory: 4956kb
input:
1 qididdjqfjfjifufujiqiujquiujufuqjuiidiufudqjiiiiujquiiiqijquuquufiiiufqujiqquuufuiquiiiuujfuuuiuufiiuiuduqjiiuffjqfjiffiuuidfqjuiufuijiuufqqjujjififqddufidiqiqfidffduifidiqjufudjffifuifiquiuifiuuuiiufuuufjdududiifjffjuuiuufuiuuqiiuijuuuiiuiiduuuuiqjiiififijjjijiuuiuiqufuqduqufjqufiijiifffujiidjjjq...
output:
6794
result:
ok 1 number(s): "6794"
Test #45:
score: 0
Accepted
time: 19ms
memory: 5276kb
input:
1 vqvdvqvdqqbffcqcvvbqvqbqbcvqqvqfvfqdcqdqvqqqqqvvqbccbbqqqbbbvbbbqqcdccvccvqcvqvdbvvdbfqqbbcvqqvfdqbbvvqbcbvvvdvfvdbqfqvcvccdqbfbfvvbvcqvbddbcvfqfbbfvbbbbdbqcbvbvbvvdqbcvvvvbvcvfbfvbccqqbqvvdvvbvbqdvvcfqcdccqcvdqqbvvbfbqvbddvbvbvcbvvqvqvqqcvcqbbvcfddqcffqbbqfbqvvvdcvfqfdqdvqbbqbbbdbfvfbqvvqqqbbqvcv...
output:
3290
result:
ok 1 number(s): "3290"
Test #46:
score: 0
Accepted
time: 11ms
memory: 5272kb
input:
1 bkqkvvkvkbvbqkqbqkqkqvqqqvvbbqkkqbqkqkbkvqkvqkqqqqqbbvqvkqqkkqvbkqqqkqkbbkkqqqkqqvkkkqqkkqqkqqkbqqqkkqvbqvkqqqkkbvvkkkvvqqvkqbqqvkqkkqkqkvqvqbvkbkbbbkbqvqqqkvbvqqkbvvqkbkbvqqqqkvvvvqqqqvqqqqvkqkqkqqvqvqqqqkqvbkqvqkqqkvqbqvkqbvvvkkbkkqbqqkqqbqqqqkqqqbkqqkqqqbvbbqqvqqqbqbqkbbvkqqkqqkqbqqbqqqvkqqkkkq...
output:
822
result:
ok 1 number(s): "822"
Test #47:
score: 0
Accepted
time: 14ms
memory: 4860kb
input:
1 vvvwwoovwtttviwovxvwtxtvvvvowooxoovxttvwtotwxvwxvvvtvvxvvvtxwvxxowxvtxooottwvwvrtptxwvwovxvtvvdxxwxwvtxxvvxetvvtopvtttxttiovtwtttwwvtxttdvvvtwtwoxvxvxtvtvxwvxetxuotvwtwtvtwxvttxwvvtwvwwxvxtrwttwtxxwvxxwxtwxxxroxevtvvttwxttvxxpvxxwtvtwxxxvxvwmowlwtvxotvwxootvvovxwtvmvvvvtwvxxvxvtovxxvvvtxwvxtxvtvvt...
output:
290
result:
ok 1 number(s): "290"
Test #48:
score: 0
Accepted
time: 17ms
memory: 4816kb
input:
1 qqazgakaabqavzazkzabkazkaakqaapqqqgagsgzgkkzqapakvkvaqaaqapvaakzzzqokgbzqkbzmkqzqkakaqpaaqaozvagqbzadakgagabzbbiqgamgazzbkzqizaakaanqzzgfagkzaqqqqkkgkagaqzagkakbqpkbvcaakbbmzkiakkkzgqzggaqqqogkaaaazgkakaqzzgbapkbzankavagakqggaaamvkqavvqabvuaazpqvmazavqzagqakzkamqkabagekzakqzvazvbazkkaaabuzzovazqkz...
output:
152
result:
ok 1 number(s): "152"
Test #49:
score: 0
Accepted
time: 21ms
memory: 5136kb
input:
1 qgtiwfcblywkcuqhklnjbqiqtbyuoolllqlldrbaxzxesnxeegnisnlivvghngipslvobwhxxzxppujsbxvhaxbzfbdyjpnvwcuecxedeeknfhikxupbinghdigbvzrufupopnjvpqkgzopnnxseoydlphplldzpqekqfktecdfdcxerhlqvlljvdpxnuzpxhwsavgentcljpqhjrpygjqeqqekegoueprwfrjrxvgvyxdkzyzzatdcntrlurfrawcxcobfoygwbzxnrrheusugvdbvzvxcjhseljavvsz...
output:
3
result:
ok 1 number(s): "3"
Test #50:
score: 0
Accepted
time: 15ms
memory: 5364kb
input:
1 bsveyuhxauohfxrrpacyhnggjsomrmtmrtjeznmawxpvsgwswhqhtrhmmxawkwqxrmropkhfhuorhaqdzmwckoinuqftgrpucpqufbinkkdzmfyybzzivokiqwvefycyojusbownzcapnbomuwmzfuvvuukxniqefhpwxkrowtohtoabihwkyxvevefysiigsqpeegajurkngycdfwxpsbuuedvsnzoknkarjbmndbnnffotnkaycowkuntrbiaojcaoxeifhxmqzbfaitmqgfxsukabmdzoiuzcwvmzau...
output:
7
result:
ok 1 number(s): "7"
Test #51:
score: 0
Accepted
time: 17ms
memory: 4872kb
input:
1 kcqgcgkhwwwhhkqhwqhhckgwcwwqqcwcgwgwgcwcqcwwqgwkhwwhqqqkwwghqqqhqggkgqggwwwkhqwhgckckcqkkcwkgkkcccghccgcwhqckwkqchkwkcqghgqhhcwhgwcccghchqwgwcckwwkhgqwqhkhhgkgwwqgcqcccchgkqqgkcwkgwcghhgqgwgcqgwhwckccccqwchckkkkqghkhkwghkgkgckqckwgghcckccgghhckghwcwgcwwckghwhwkckkggkgwhcqhwgcgwkwgqwkgwwkgkqwqwhgcg...
output:
5
result:
ok 1 number(s): "5"
Test #52:
score: 0
Accepted
time: 13ms
memory: 4828kb
input:
1 xkqoaqxclqeyzvslbvmqojbeifrzyvapawprrplerlpnwdesdazeyrniizwwzxffnakhqlzistefqtbzjqnkqpsdxztsvexekjdmyvmvajvtcxqsudbupyhnttjsykyywtpyvlkksewivthfchmemkbdrkexwarixvfetjncosfusulvsocbqyfoldptbrrfucobqxabmwwdimdnowfndplioymbnjcljjpbottytaybkpekelxkmymaiaoqcbaicaewvjabmyxbrwyshnffkkleewwdptfqviwtiibhaq...
output:
109
result:
ok 1 number(s): "109"
Test #53:
score: 0
Accepted
time: 17ms
memory: 4028kb
input:
2 tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt...
output:
2000000 1999998
result:
ok 2 number(s): "2000000 1999998"
Test #54:
score: 0
Accepted
time: 26ms
memory: 5824kb
input:
1 rrrqrrqqqqrqqrrqrqqrqrqrqrrqqqrqqrrrqqrqrrrqrqqqqqrqqrqrqqrqrrrqqrqrrrqqqqrqqrrrrrrrqrqrqrrrqqqqqrqrrqrrqrqrqqrrrqrqrqrrrrqqqrrqrrrqrqqqqqrqqrrqqrrrqqrrrrqqqqqrrqrqqrqrqrqrrrrrqrrqqqqrqrrqrrrrrrqqqqqrqqrrqqrqrrrrqrrqrqqrqrqqrqrqqrrqqqrrrrrqqqrqrrqqqrqrqqrqqrqqqrqqqrrrrqrqrrrqqrrqrrqrrrrrqqrqrrrrqq...
output:
16
result:
ok 1 number(s): "16"
Test #55:
score: 0
Accepted
time: 26ms
memory: 6064kb
input:
1 lfqtcbmmnautfozpycvzdxtgsfpxqzhoatuejcqjriaqntagfnjxqizsxhaetzjvhpzbdmruigopadtakjczrmrkbptoxnvucxxizcheouvmnkoqxnrhvggaybegujavzsafpoxglsbmzrimyleexezznhdhthrrjhzbbqbvljcdfufdutpdkxujitdeoufkvuhmongyopvhifzetiqzlskmxpgobqjhdslercqpryaltggzvgllgplimxbodmarctnzypqdordoevbnfcssiglgryklsrfgkbmpyocucu...
output:
1
result:
ok 1 number(s): "1"
Extra Test:
score: 0
Extra Test Passed