import qualified Data.IntMap as M
import Data.Maybe

main = do
  li <- getLine
  let n = read li
  li <- getLine
  let as = map read $ words li
  let ans = compute n as
  print ans

{-
(i,j) (i<j) が j-i = Ai+Aj なら当たり。
それぞれのi,Aiに対して、この関係を満たすようなjの数が知りたい。
移項して j-Aj = i+Ai
Bi=i-Aiとおくと i+Ai = Bj 
jが無関係になるので、各i+Aiについて
そんなBjになるjの個数を先に集計しておいた個数を足すと答え
-}

compute :: Int -> [Int] -> Int
compute n as = sum [ fromMaybe 0 $ m M.!? (i+ai) | (i,ai) <- iai ] 
  where
    iai = zip [1..] as
    m = M.fromListWith (+) [ (j-aj,1) | (j,aj) <- iai ]