切割 01 串
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给定一个长度为 n01 序列,定义如下操作为 “切割”:
  •  将当前长度为 len(len>1) 的序列分割为两个非空序列 a,b,满足序列 a 或者序列 b 中至少有一个 1
你每次切割完,都会得到两个序列,你可以继续选择这些序列做切割,只要满足切割条件。
请问你最多能切割多少次?

输入描述:

本题有多组测试数据。

首先输入一个整数 T(1\leq T\leq 10^5),表示数据的组数。

对于每组测试,都会输入一个 01S1\leq |S|\leq 10^5

对于所有 T 组测试数据,保证 \sum|S|\leq 10^5

输出描述:

对于每一个测试样例,输出最多切割次数。
示例1

输入

复制
1
10

输出

复制
1

说明

显然最多切割一次,一种合法的切割为:1\ |\ 0