#Z1021. 数字重组大师

数字重组大师

数字重组大师

题目描述

给定 nn 个正整数。对于每一个整数,把它的十进制每一位数字重新排列,可以得到一个尽可能大的数和一个尽可能小的数(这两个数都不能有前导 0)。

对同一个整数 xx,记这两个数之差为 f(x)f(x)
请你对输入的 nn 个整数分别计算 f(x)f(x),并依次输出。


输入格式

  • 第一行输入一个正整数 nn,表示有多少个整数需要处理。
  • 接下来 nn 行,每行输入一个正整数 aia_i

输出格式

输出共 nn行。
ii行输出对第 ii 个整数 aia_i 重排后得到的最大值与最小值之差,即 f(ai)f(a_i)


数据范围

  • 1n1051 \le n \le 10^5
  • 对于每个 1in1 \le i \le n,有 1ai1091 \le a_i \le 10^9
  • 输入数据保证所有整数均为十进制表示的正整数,且无多余的前导 0。

输入样例

3
213
5
120

输出样例

198
0
108

样例说明

  • 对于 213,所有排列为 123132213231312321,最大值为 321,最小值为 123,差为 321 - 123 = 198
  • 对于 5,最大值和最小值都只能是 5,差为 0
  • 对于 120,所有不含前导 0 的排列为 102120201210,最大值为 210,最小值为 102,差为 210 - 102 = 108