#include <iostream>
#include <string>
int main(){
  std::string s;int i,a=-1,z;
  for(std::cin>>s,i=0;i<s.size();++i){
    if(s[i]=='A'&&a<0)a=i;
    if(s[i]=='Z')z=i;
  }
  std::cout<<z-a+1<<"\n";
}
### Prompt

Your task is to create a cpp solution to the following problem:

Snuke has decided to construct a string that starts with `A` and ends with `Z`, by taking out a substring of a string s (that is, a consecutive part of s).

Find the greatest length of the string Snuke can construct. Here, the test set guarantees that there always exists a substring of s that starts with `A` and ends with `Z`.

Constraints

* 1 ≦ |s| ≦ 200{,}000
* s consists of uppercase English letters.
* There exists a substring of s that starts with `A` and ends with `Z`.

Input

The input is given from Standard Input in the following format:


s


Output

Print the answer.

Examples

Input

QWERTYASDFZXCV


Output

5


Input

ZABCZ


Output

4


Input

HASFJGHOGAKZZFEGA


Output

12

### Response

```cpp
#include <iostream>
#include <string>
int main(){
  std::string s;int i,a=-1,z;
  for(std::cin>>s,i=0;i<s.size();++i){
    if(s[i]=='A'&&a<0)a=i;
    if(s[i]=='Z')z=i;
  }
  std::cout<<z-a+1<<"\n";
}
```