#1210. wch做暑假作业

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 软件82-王成昊

题目描述

wch的暑假作业太多了,共有 nn 个互相独立的任务(即可以按任意顺序做完), 每个任务有一个权值 aia_i ,且满足,对于 ij,aiaji \neq j,a_i \neq a_j。巧合的是,wch的暑假天数也恰好是 nn ,于是他决定每天做一项任务。wch每天的精神状态是不同的,第 ii 天的精神状态权值为 bib_i ,且满足,对于 ij,bibji \neq j,b_i \neq b_j 。若wch选择在第 ii 天做第 jj 个任务,那么他会得到 (aibj)2(a_i-b_j)^{2} 的疲劳值。wch一开始的疲劳值为0,现在他想让暑假过后的疲劳值最小,所以请你计算这个最小的疲劳值。由于这个数字可能很大,所以请你输出该值mod 998244353 后的值。

但是这个问题太简单了,wch不会这么简单放过你的。新的任务来了,定义一次操作为交换两个相邻任务的位置或者交换两个相邻天的精神状态权值。现在wch要问你,达到最小疲劳值时的最少操作次数。

输入格式

共三行

第一行一个正整数 nn

第二行 nn 个正整数 ai(1in)a_i(1 \leq i \leq n)

第三行 nn 个正整数 bi(1in)b_i(1 \leq i \leq n)

输出格式

一行两个整数,分别代表最小的疲劳值对998244353取模的结果和最少的交换次数。

样例

样例输入

4   
1 3 4 2   
1 7 2 4   

样例输出

10 2

数据范围与提示

1n10000001 \leq n \leq 1000000

1ai,bi10000000001 \leq a_i,b_i \leq 1000000000