#include <stdio.h>
int main(void){
    char a[200010] = {};
    scanf("%s",a);
    int i,j;
    for(i = 0; a[i] != 'A'; i++);
    for(j = 200005; a[j] != 'Z'; j--);
    printf("%d\n",j-i+1);
}

### Prompt

Construct a CPP code solution to the problem outlined:

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 <stdio.h>
int main(void){
    char a[200010] = {};
    scanf("%s",a);
    int i,j;
    for(i = 0; a[i] != 'A'; i++);
    for(j = 200005; a[j] != 'Z'; j--);
    printf("%d\n",j-i+1);
}

```