CF193B Xor

Description

John Doe has four arrays: $ a $ , $ b $ , $ k $ , and $ p $ . Each array consists of $ n $ integers. Elements of all arrays are indexed starting from $ 1 $ . Array $ p $ is a permutation of integers $ 1 $ to $ n $ . John invented a game for his friends and himself. Initially a player is given array $ a $ . The player must consecutively execute exactly $ u $ operations on $ a $ . You are permitted to execute the following operations: - Operation 1: For each ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF193B/588151749bfc8c4ebd904225ce114921c270a1ac.png) change $ a_{i} $ into ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF193B/158ecb7a5cfb1da0adf4f0b8e06962718ba98726.png). Expression ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF193B/a0b0fe9e9428287337c0277ea02ca07fcf0a01a7.png) means applying the operation of a bitwise xor to numbers $ x $ and $ y $ . The given operation exists in all modern programming languages, for example, in language C++ and Java it is marked as "^", in Pascal — as "xor". - Operation 2: For each ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF193B/588151749bfc8c4ebd904225ce114921c270a1ac.png) change $ a_{i} $ into $ a_{pi}+r $ . When this operation is executed, all changes are made at the same time. After all $ u $ operations are applied, the number of points the player gets is determined by the formula ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF193B/60adcc3c771916b70fd34a325e39209ee49551cd.png). John wants to find out what maximum number of points a player can win in his game. Help him.

Input Format

The first line contains space-separated integers $ n $ , $ u $ and $ r $ ( $ 1

Output Format

On a single line print number $ s $ — the maximum number of points that a player can win in John's game. Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

Explanation/Hint

In the first sample you should first apply the operation of the first type, then the operation of the second type.