#include <iostream>
#include <string>
using namespace std;
void solve() {
string s;
cin >> s;
string t = "";
int cnt = 0;
// Step 1: Move suffixes from `s` to `t` until `s` has only `0`s
while (s.find('1') != string::npos) {
size_t pos1 = s.find('1'); // Find the first occurrence of '1'
t += s.substr(pos1); // Move that suffix to `t`
s = s.substr(0, pos1); // Remove that suffix from `s`
cnt++;
}
// Step 2: Move suffixes from `t` back to `s` until `t` has only `1`s
while (t.find('0') != string::npos) {
size_t pos0 = t.find('0'); // Find the first occurrence of '0'
s += t.substr(pos0); // Move that suffix back to `s`
t = t.substr(0, pos0); // Remove that suffix from `t`
cnt++;
}
cout << cnt << endl;
}
int main() {
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzb2x2ZSgpIHsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CiAgICBzdHJpbmcgdCA9ICIiOwogICAgaW50IGNudCA9IDA7CgogICAgLy8gU3RlcCAxOiBNb3ZlIHN1ZmZpeGVzIGZyb20gYHNgIHRvIGB0YCB1bnRpbCBgc2AgaGFzIG9ubHkgYDBgcwogICAgd2hpbGUgKHMuZmluZCgnMScpICE9IHN0cmluZzo6bnBvcykgeyAKICAgICAgICBzaXplX3QgcG9zMSA9IHMuZmluZCgnMScpOyAvLyBGaW5kIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICcxJwogICAgICAgIHQgKz0gcy5zdWJzdHIocG9zMSk7IC8vIE1vdmUgdGhhdCBzdWZmaXggdG8gYHRgCiAgICAgICAgcyA9IHMuc3Vic3RyKDAsIHBvczEpOyAvLyBSZW1vdmUgdGhhdCBzdWZmaXggZnJvbSBgc2AKICAgICAgICBjbnQrKzsKICAgIH0KCiAgICAvLyBTdGVwIDI6IE1vdmUgc3VmZml4ZXMgZnJvbSBgdGAgYmFjayB0byBgc2AgdW50aWwgYHRgIGhhcyBvbmx5IGAxYHMKICAgIHdoaWxlICh0LmZpbmQoJzAnKSAhPSBzdHJpbmc6Om5wb3MpIHsgCiAgICAgICAgc2l6ZV90IHBvczAgPSB0LmZpbmQoJzAnKTsgLy8gRmluZCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAnMCcKICAgICAgICBzICs9IHQuc3Vic3RyKHBvczApOyAvLyBNb3ZlIHRoYXQgc3VmZml4IGJhY2sgdG8gYHNgCiAgICAgICAgdCA9IHQuc3Vic3RyKDAsIHBvczApOyAvLyBSZW1vdmUgdGhhdCBzdWZmaXggZnJvbSBgdGAKICAgICAgICBjbnQrKzsKICAgIH0KCiAgICBjb3V0IDw8IGNudCA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==