#include <bits/stdc++.h>
using namespace std;
#define fast_io ios::sync_with_stdio(false); cin.tie(NULL)
#define int long long
void solve() {
string s;
cin >> s;
int n = s.size();
if (n == 1) {
cout << 1 << "\n";
return;
}
for (int i = 0; i + 1 < n; i++) {
if (s[i] == '*' && s[i+1] == '*') {
cout << -1 << "\n";
return;
}
}
bool seenGt = false;
for (char c : s) {
if (c == '>') seenGt = true;
if (c == '<' && seenGt) {
cout << -1 << "\n";
return;
}
}
for (int i = 0, seen = 0; i < n; i++) {
if (s[i] == '>') seen = 1;
if (s[i] == '*' && seen) {
cout << -1 << "\n";
return;
}
}
for (int i = n-1, seen = 0; i >= 0; i--) {
if (s[i] == '<') seen = 1;
if (s[i] == '*' && seen) {
cout << -1 << "\n";
return;
}
}
int first_gt = -1;
for (int i = 0; i < n; i++) {
if (s[i] == '>') {
first_gt = i;
break;
}
}
int last_lt = -1;
for (int i = 0; i < n; i++) {
if (s[i] == '<') last_lt = i;
}
if (first_gt == -1) {
cout << n << "\n";
return;
}
if (last_lt == -1) {
cout << n << "\n";
return;
}
int L = first_gt;
int R = n - 1 - last_lt;
cout << max(L, R) << "\n";
}
int32_t main() {
fast_io;
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGZhc3RfaW8gaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpCiNkZWZpbmUgaW50IGxvbmcgbG9uZwoKdm9pZCBzb2x2ZSgpIHsKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CiAgICBpbnQgbiA9IHMuc2l6ZSgpOwoKICAgIGlmIChuID09IDEpIHsKICAgICAgICBjb3V0IDw8IDEgPDwgIlxuIjsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgKyAxIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKHNbaV0gPT0gJyonICYmIHNbaSsxXSA9PSAnKicpIHsKICAgICAgICAgICAgY291dCA8PCAtMSA8PCAiXG4iOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIGJvb2wgc2Vlbkd0ID0gZmFsc2U7CiAgICBmb3IgKGNoYXIgYyA6IHMpIHsKICAgICAgICBpZiAoYyA9PSAnPicpIHNlZW5HdCA9IHRydWU7CiAgICAgICAgaWYgKGMgPT0gJzwnICYmIHNlZW5HdCkgewogICAgICAgICAgICBjb3V0IDw8IC0xIDw8ICJcbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDAsIHNlZW4gPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKHNbaV0gPT0gJz4nKSBzZWVuID0gMTsKICAgICAgICBpZiAoc1tpXSA9PSAnKicgJiYgc2VlbikgewogICAgICAgICAgICBjb3V0IDw8IC0xIDw8ICJcbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IG4tMSwgc2VlbiA9IDA7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgaWYgKHNbaV0gPT0gJzwnKSBzZWVuID0gMTsKICAgICAgICBpZiAoc1tpXSA9PSAnKicgJiYgc2VlbikgewogICAgICAgICAgICBjb3V0IDw8IC0xIDw8ICJcbiI7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgaW50IGZpcnN0X2d0ID0gLTE7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGlmIChzW2ldID09ICc+JykgewogICAgICAgICAgICBmaXJzdF9ndCA9IGk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgbGFzdF9sdCA9IC0xOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBpZiAoc1tpXSA9PSAnPCcpIGxhc3RfbHQgPSBpOwogICAgfQoKICAgIGlmIChmaXJzdF9ndCA9PSAtMSkgewogICAgICAgIGNvdXQgPDwgbiA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAobGFzdF9sdCA9PSAtMSkgewogICAgICAgIGNvdXQgPDwgbiA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpbnQgTCA9IGZpcnN0X2d0OwogICAgaW50IFIgPSBuIC0gMSAtIGxhc3RfbHQ7CgogICAgY291dCA8PCBtYXgoTCwgUikgPDwgIlxuIjsKfQoKaW50MzJfdCBtYWluKCkgewogICAgZmFzdF9pbzsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSBzb2x2ZSgpOwogICAgcmV0dXJuIDA7Cn0K