Problem:
Score : 200 points

Problem Statement

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.

Sample Input 1

QWERTYASDFZXCV

Sample Output 1

5

By taking out the seventh through eleventh characters, it is possible to construct ASDFZ, which starts with A and ends with Z.

Sample Input 2

ZABCZ

Sample Output 2

4

Sample Input 3

HASFJGHOGAKZZFEGA

Sample Output 3

12

Solution in Kotlin (1.0.0) (judge verdict: Wrong Answer)

fun main(args: Array<String>) {

    val str = readLine()!!

    val begin = str.indexOf("A")
    // lastIndexOf覚えて!!
    val end = str.lastIndexOf("Z")

    // QWERTYASDFZXCVの場合、indexは0から始まるので6になる
    // substringの始点も0になるため、indexOfの開始位置は
    // substringの開始位置に利用できる
    // substringのbegin-endの場合、末尾文字列を含めるとき+1が必要
    val result = str.substring(begin, end + 1)
    println(result)
}