[Zjoi2016]线段树

时间限制:30s      空间限制:256MB

题目描述

小Yuuka遇到了一个题目:有一个序列a_1,a_2,?,a_n,q次操作,每次把一个区间内的数改成区间内的最大值,问
最后每个数是多少。小Yuuka很快地就使用了线段树解决了这个问题。于是充满智慧的小Yuuka想,如果操作是随机
的,即在这q次操作中每次等概率随机地选择一个区间[l,r](1≤l≤r≤n),然后将这个区间内的数改成区间内最大
值(注意这样的区间共有(n(n+1))/2个),最后每个数的期望大小是多少呢?小Yuuka非常热爱随机,所以她给出
的输入序列也是随机的(随机方式见数据规模和约定)。对于每个数,输出它的期望乘((n(n+1))/2)^q再对10
^9+7取模的值。


输入格式

第一行包含2个正整数n,q,表示序列里数的个数和操作的个数。接下来1行,包含n个非负整数a1,a2...an。N<=400,Q<=400


输出格式

输出共1行,包含n个整数,表示每个数的答案


样例输入

5 5
1 5 2 3 4

样例输出

3152671 3796875 3692207 3623487 3515626

提示

没有写明提示


题目来源

没有写明来源

Menuappsclose