牛牛的Link Power I
题号:NC201785
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛有一颗大小为n的神奇Link-Cut 数组,数组上的每一个节点都有两种状态,一种为link状态,另一种为cut状态。数组上任意一对处于link状态的无序点对(即(u,v)和(v,u)被认为是同一对)会产生dis(u,v)的link能量,dis(u,v)为数组上u到v的距离。

我们定义整个数组的Link能量为所有处于link状态的节点产生的link能量之和。

一开始数组上每个节点的状态将由一个长度大小为n的01串给出,'1'表示Link状态,'0'表示Cut状态。

牛牛想要知道整个数组的Link能量,为了避免这个数字过于庞大,你只用输出答案对取余后的结果即可。

输入描述:

第一行输入一个正整数n

接下里一行输入一个长度大小为n的01串表示数组的初始状态,'1'表示Link状态,'0'表示Cut状态。

输出描述:

仅一行,表示整个数组的Link能量对取余后的结果。
示例1

输入

复制
3
101

输出

复制
2
示例2

输入

复制
5
00110

输出

复制
1
示例3

输入

复制
6
000010

输出

复制
0