#ABC256B. 击球手(Batters)

击球手(Batters)

题目描述

高桥正在尝试创建一个受棒球启发的游戏,但他在编写代码时遇到了困难。请为高桥编写一个程序来解决以下问题。

有 4 个称为方格 0、方格 1、方格 2 和方格 3 的方格。最初,所有方格都是空的。还有一个整数 PP ,最初,P=0P = 0

给定一个正整数序列 A = (A1, A2, , AN) A\ =\ (A_1,\ A_2,\ \dots,\ A_N) ,按顺序执行以下操作,i = 1, 2, , N i\ =\ 1,\ 2,\ \dots,\ N

  1. 在方格 0 上放置一个棋子。
  2. 将每个方格上的棋子向前移动 AiA_i 个方格。换句话说,如果方格 xx 有一个棋子,将该棋子移动到方格 x + Ai x\ +\ A_i 。但是,如果目标方格不存在(即 x + Ai x\ +\ A_i 大于或等于 4)对于一个棋子,则移除它。将 PP 增加移除的棋子数量。

执行完所有操作后,输出 PP 的值。

输入格式

第一行输入 N N

第二行输入 A1 A_1 A2 A_2 \dots AN A_N

输出格式

输出执行完所有操作后 PP 的值。

样例

4
1 1 3 2
3
3
1 1 1
0
10
2 2 4 1 1 1 4 2 2 1
8

提示

样例说明 1

操作描述如下。执行完所有操作后,P 等于 3。

  • i = 1 的操作:
    1. 在方格0上放置一个棋子。现在,方格 0 有一个棋子。
    2. 将每个方格上的棋子向前移动 1 个方格。这些移动后,方格 1 有一个棋子。
  • i = 2 的操作:
    1. 在方格 0 上放置一个棋子。现在,方格 0 和 1 各有一个棋子。
    2. 将每个方格上的棋子向前移动 1 个方格。这些移动后,方格 1 和 2 各有一个棋子。
  • i = 3 的操作:
    1. 在方格 0 上放置一个棋子。现在,方格 0、1 和 2 各有一个棋子。
    2. 将每个方格上的棋子向前移动 3 个方格。 这里,对于方格 1 和 2 上的棋子,目标方格不存在(因为 1+3=4 和 2+3=5),所以移除这些棋子并将 2 加到 P。P 现在等于 2。这些移动后,方格 3 有一个棋子。
  • i = 4 的操作:
    1. 在方格 0 上放置一个棋子。现在,方格 0 和 3 各有一个棋子。
    2. 将每个方格上的棋子向前移动 2 个方格。 这里,对于方格 3 上的棋子,目标方格不存在(因为 3 + 2 = 5),所以移除这个棋子并将 1 加到 P。P 现在等于 3。

这些移动后,方格 2 有一个棋子

样例说明 2

P 的值可能不会被操作更新。

数据范围

  • 1  N  100 1\ \leq\ N\ \leq\ 100
  • 1  Ai  4 1\ \leq\ A_i\ \leq\ 4
  • 所有输入均为整数