#127. Rainbow的信号

Rainbow的信号

题目描述

Freda发明了传呼机之后,rainbow进一步改进了传呼机发送信息所使用的信号。

由于现在是数字、信息时代,rainbow发明的信号用 N\red N 个自然数表示。

为了避免两个人的对话被大坏蛋VariantF偷听,rainbow把对话分成 A\red AB\red BC\red C 三部分,分别用 a\red ab\red bc\red c 三个密码加密。

现在Freda接到了rainbow的信息,她的首要工作就是解密。

Freda了解到,这三部分的密码计算方式如下:

1N\red{1\sim N}N\red N 个数中,等概率地选取两个数 l\red lr\red r,如果 l>r\red{l>r},则交换 l\red lr\red r。把信号中的第 l\red l 个数到第 r\red r个数取出来,构成一个数列 P\red P

A\red A 部分对话的密码是数列 P\red Pxor\red{xor} 和的数学期望值,xor\red{xor} 和就是数列 P\red P 中各个数异或之后得到的数; xor\red{xor} 和的期望就是对于所有可能选取的 l\red lr\red r ,所得到的数列的 xor\red{xor} 和的平均数。

B\red B 部分对话的密码是数列 P\red Pand\red{and} 和的期望,定义类似于 xor\red{xor} 和。

C\red C 部分对话的密码是数列 P\red Por\red{or} 和的期望,定义类似于 xor\red{xor} 和。

请你帮忙计算这三个密码。

输入格式

第一行一个正整数 N\red N

第二行 N\red N 个自然数,表示Freda接到的信号。

输出格式

一行三个实数,分别表示 xor\red{xor} 和、and\red{and} 和、or\red{or} 和的期望,四舍五入保留 3\red 3 位小数,相邻两个实数之间用一个空格隔开。

样例

输入样例

2
4 5

输出样例

2.750 4.250 4.750

提示

1N105\red{1\leq N\leq 10^5}, N\red N 个自然数均不超过109\red{10 ^9}