MOD = 10**9 + 7 def main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr +=1 M = int(input[ptr]) ptr +=1 P = int(input[ptr]) ptr +=1 V = list(map(int, input[ptr:ptr+N])) ptr += N V.sort(reverse=True) # Calculate S = (100-P)/100 mod MOD inv100 = pow(100, MOD-2, MOD) S = ( (100 - P) * inv100 ) % MOD s_power = 1 # S^0 ans = 0 for i in range(N): # For the i-th goldfish (0-based in V) # S_power starts as S^0, then after multiply, becomes S^(i+1) # Wait, the first goldfish is i=1 in the problem's terms, but the code uses 0-based # So for the code, i runs from 0 to N-1, and each iteration represents i+1 in the problem. s_power = (s_power * S) % MOD # t_i = (1 - s_power) mod MOD t_i = (1 - s_power) % MOD # u_i = (t_i)^M mod MOD u_i = pow(t_i, M, MOD) # p_i = (1 - u_i) mod MOD p_i = (1 - u_i) % MOD # ans += V[i] * p_i ans = (ans + V[i] * p_i) % MOD print(ans % MOD) if __name__ == '__main__': main()