Jongsu bought a new microprocessor. A program that worked on the old processor did not run on the new one.
After comparing the technical documents for several days, he found the reason. To improve execution speed, the new processor imposes a new restriction on machine code. The old processor had no such restriction.
A processor's machine code is a sequence of instructions in execution order. Each instruction uses 1 byte of memory. An instruction may have zero or more parameters, and each parameter also uses 1 byte. In the machine code, the parameters of an instruction appear immediately after that instruction.
We can write machine code with uppercase letters for instructions and lowercase letters for parameters.

The program above has four instructions. The first instruction has 3 parameters, the second has 2 parameters, the third has no parameters, and the fourth has 4 parameters. This program uses 13 bytes of memory.
The new processor fetches memory in units of 4 bytes. Therefore, each original instruction must start at an address divisible by 4, where the first byte of memory has address 0. To make this happen, a new instruction, NOP (no operation), must be inserted. After converting the program above for the new processor, it looks like this.

The start addresses of instructions A, B, C, and D are 0, 4, 8, and 12, all divisible by 4.
Given the machine code for the old processor, find the minimum number of NOPs that must be inserted so the program can run on the new processor.
One line contains a machine-code program for the old processor. The program has at most 200 characters.
The program always starts with an instruction, so its first character is uppercase. If the same instruction appears multiple times in the machine code, it always has the same number of parameters.
Print the minimum number of NOPs that must be inserted.