编程题
### 问题描述
小明是一位数学爱好者,他最近在研究一种新的数学问题:给定一个字符串,定义字符串的权重为所有满足 $i 字符串 $t$ 是字符串 $s$ 的子串,当且仅当 $t$ 可以从 $s$ 中去除一些(可以是 0 个或所有)开头的字符和一些(可以是 0 个或所有)结尾的字符后得到。
请你帮助小明计算所有字符串的子串权重之和。
### 输入格式
第一行包含一个整数 $n$($1\leq n \leq 10^5$),表示给定字符串的长度。
第二行包含一个长度为 $n$ 的字符串 $s$,$s$ 只包含大写字母、小写字母以及数字。
### 输出格式
对于每组数据,输出一个整数,表示给定字符串所有子串的权重之和。
### 样例输入
```
5
abaab
```
### 样例输出
```
13
```