#此题利用动态规划思路
a=int(input()) #取出数组长度
b=[int(i) for i in input().split()]  #取出数组内容
if len(b)==1:  #如果数组只有1的长度,那必然已经在终点
    print("true")
else:
#创建dp数组,0代表无法到达终点,1代表可以到达终点
    dp=[0]*len(b)
    target=len(b)-1 #终点为数组的最后一个索引
    for i in range(a-2,-1,-1): #从倒数第二个索引开始遍历,如果它和target之间的差值小于等于它本身的值,代表这个位置可以到达终点,因此我们更新终点为i,即代表只要能达到这个位置就必定能到终点
        if target-i<=b[i]:
            target=i
            dp[i]=1
#最终判断dp[0]是否等于1,因为起点一定是dp[0],因此如果它等于1,必然存在一条路线到达终点
    print("true" if dp[0]==1 else "false")