小约翰非常喜欢阅读《字节百科全书》。他尤其着迷于书中色彩斑斓的插图。《字节百科全书》由许多独立的部分组成。每隔一段时间,就会有新的页面被印刷出来。约翰的父母会将这些新页面加入到一个装有之前所有百科全书页面的活页夹中。为了防止页面弄脏,约翰的父母将每一页都放入了一个独立的透明封套中。
有一天,约翰不小心把书掉在了地上——所有的封套都从活页夹里掉了出来,所有的页面也都从封套里掉了出来。幸运的是,没有任何东西丢失(无论是页面还是封套),且页面数量仍然等于封套数量。约翰从地上捡起所有物品,并将它们堆叠在一起,形成了一摞。他想把所有物品放回活页夹中。首先,他需要重新排列这一摞中的页面和封套,使得页面和封套交替出现。约翰不识字,所以页面的顺序对他来说不是问题。唯一重要的是,所有的页面都应该重新装回封套里。
在每一次操作中,约翰可以交换这一摞中相邻的两个元素的位置。当页面和封套在这一摞中交替出现时,他便完成了重新排列的过程。
请帮助小约翰计算,为了完成所需的重新排列,最少需要进行多少次相邻元素的交换操作。
编写一个程序:
- 从标准输入读取这一摞物品的描述,
- 计算为了整理《字节百科全书》的元素需要多少次交换操作,
- 将结果写入标准输出。
输入格式
标准输入的第一行包含一个整数 $n$ ($1 \le n \le 1\,000\,000$),表示《字节百科全书》中的页面数量(这也等于封套的数量)。
接下来的行包含这一摞物品的描述:$2 \cdot n$ 个非负整数。第 $i$ 个数字描述了这一摞中的第 $i$ 个元素,如果该元素是封套,则为 0。否则,它是一个不超过 $1\,000\,000\,000$ 的正整数。
这一摞物品的描述中,0 的数量与正整数的数量相等。《字节百科全书》并不完美,页面编号可能会重复。
输出格式
输出一个整数,表示为了将《字节百科全书》重新整理好,所必须执行的最少交换操作次数。
样例
输入 1
5 5 1 0 0 2 4 0 3 0 0
输出 1
3