#B4145. [语言月赛 202502] 披萨订单

[语言月赛 202502] 披萨订单

题目描述

QianQ 的披萨店盛大开业了!他使用西红柿制作饼底,使用培根作为撒料,使用芝士作为卷边

为了迎合客户的口味,QianQ 允许客户定制披萨:

  • 饼底:可以选择西红柿浓度 bb。选择的浓度 bb 必须是 [0,X][0,X] 范围内的一个整数。
  • 撒料:可以选择培根的数量 pp。选择的数量 pp 必须是 [1,Y][1,Y] 范围内的一个整数。
  • 卷边:可以选择卷边的厚度 zz。选择的厚度 zz 必须是 [0,K][0,K] 范围内的一个整数。

一块披萨的美味程度为 (b+p)z(b+p)\oplus z,其中 \oplus 表示异或运算。请问,在 QianQ 提供的选择范围中,美味程度最大可以达到多少?有多少种选择方案,可以达到这个美味程度。

两个选择方案不同,当且仅当 b,p,zb,p,z 其中至少有一个不同。

异或运算在 C++ 语言中可用运算符 ^ 表示。

输入格式

输入一行三个整数 X,Y,KX,Y,K

输出格式

输出两行。

第一行为一个整数,表示最大美味程度。

第二行为一个整数,表示可以达到该美味程度的方案数。

5 2 3
7
7

提示

对于 100%100\% 的数据,0X,K5000 \le X, K \le 5001Y5001 \le Y \le 500