牛牛的计算机内存
题号:NC21873
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

牛牛的计算机一共有m块内存,现在有n条指令,每条指令是一个01序列
如果指令的第i个字符为1,说明这条指令需要访问第i块内存
每条指令的执行代价为k^2, k为新访问内存的数量,即之前的指令都没有访问到的内存数量
你可以随意安排n条指令的执行顺序,求执行完所有指令的最小代价

输入描述:

第一行先输入一个整数n ()
接下来每行输入一个01字符串,长度不超过20

输出描述:

输出一个整数
示例1

输入

复制
3 3
111
001
010

输出

复制
3
示例2

输入

复制
5 5
11101
00111
10101
00000
11000

输出

复制
9
示例3

输入

复制
3 4
1000
1100
1110

输出

复制
3

备注:

子任务1:n <= 5
子任务2:n <= 10
子任务3:无限制