#include <iostream>
#include <string>
#include <vector>

using namespace std;


int main() {
	
	string A;

	cin >> A;


	cout << A.find_last_of('Z') - A.find_first_of('A') + 1 << endl;

	return 0;
}

### Prompt

In cpp, your task is to solve 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>
#include <vector>

using namespace std;


int main() {
	
	string A;

	cin >> A;


	cout << A.find_last_of('Z') - A.find_first_of('A') + 1 << endl;

	return 0;
}

```