M. Minimum LCM

time limit per test

2 seconds

memory limit per test

512 megabytes

You are given an integer n.

Your task is to find two positive (greater than 0) integers a and b such that a+b=n and the least common multiple (LCM) of a and b is the minimum among all possible values of a and b. If there are multiple answers, you can print any of them.

Input

The first line contains a single integer t (1≤t≤100) --- the number of test cases.

The first line of each test case contains a single integer n (2≤n≤109).

Output

For each test case, print two positive integers a and b --- the answer to the problem. If there are multiple answers, you can print any of them.

Example

Input

Copy

复制代码

4

2

9

5

10

Output

Copy

复制代码
1 1
3 6
1 4
5 5

Note

In the second example, there are 8 possible pairs of a and b:

  • a=1, b=8, LCM(1,8)=8;
  • a=2, b=7, LCM(2,7)=14;
  • a=3, b=6, LCM(3,6)=6;
  • a=4, b=5, LCM(4,5)=20;
  • a=5, b=4, LCM(5,4)=20;
  • a=6, b=3, LCM(6,3)=6;
  • a=7, b=2, LCM(7,2)=14;
  • a=8, b=1, LCM(8,1)=8.

In the third example, there are 5 possible pairs of a and b:

  • a=1, b=4, LCM(1,4)=4;
  • a=2, b=3, LCM(2,3)=6;
  • a=3, b=2, LCM(3,2)=6;
  • a=4, b=1, LCM(4,1)=4.

解题说明:此题是一道数学题,为了保证最小公倍数最小,直接从2到sqrt(n)遍历即可。

cpp 复制代码
#include<stdio.h>
#include<math.h>
int main() 
{
    int t, n, i;
    scanf("%d", &t);
    while (t--) 
    {
        int r = 1;
        scanf("%d", &n);
        for (i = 2; i <= sqrt(n); i++) 
        {
            if (n % i == 0) 
            {
                r = (n / i);
                break;
            }
        }
        printf("%d %d\n", r, n - r);
    }
    return 0;
}
相关推荐
C++ 老炮儿的技术栈4 天前
机器人的坐标,像 XYZ 的坐标值,是用单精度浮点还是用双精度浮点?
c语言·c++·人工智能·单片机·c
wflynn4 天前
GitHub 今日推荐|gpu-unlock-ada:Ada 显卡张量算力翻倍解锁
开源·github·c
wflynn6 天前
GitHub 今日推荐|dquickts:能暂停、能存档的 QuickJS
开源·github·c·durable-execution·embeddable·hibernation
real_metrix8 天前
【学习笔记】C/C++ 头文件自包含
c++·c·头文件·自包含
闻缺陷则喜何志丹9 天前
计算24点
c·测试·input·output
2601_9555181812 天前
C# 数组 - FindIndex() 方法
c·教程·数组·示例·findindex()
从小白到软工13 天前
3-8 用draw.io来绘制界面*
c
从小白到软工13 天前
3-7 项目-图形版井字棋(下)
c
C++ 老炮儿的技术栈14 天前
char 造成的数据溢出
linux·服务器·c语言·c++·算法·c
从小白到软工15 天前
3-5 画矩形和按钮
c