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;
}
相关推荐
小宇子2B3 天前
一个 7 行的 C 函数,是怎么一路变成 CPU 上的电信号
c·汇编语言
handler013 天前
【算法】并查集(普通/扩展/带权)模板与例题
数据结构·c++·笔记·算法·c·图论·查并集
蓝宝石的傻话4 天前
给MibeeNvr 0.6调试的Esp32和树莓派的三个摄像头项目的技术更新细节
c
handler016 天前
【C++11 】Lambda 表达式、std::function 与 std::bind 解析
c++·c·c++11·bind·解耦·function·lamda
handler0111 天前
【C++】二叉搜索树详解及其模拟实现(代码)
开发语言·c++·算法·c··二叉搜索树·搜索树
爱学习的程序媛12 天前
C 语言全景指南:从底层原理到工业级实战
c++·c#·c
dozenyaoyida13 天前
RISC-V嵌入式开发:彻底解决“undefined reference to isatty“错误全攻略
经验分享·c·cmake·嵌入式开发·isatty·没有定义问题
Shadow(⊙o⊙)14 天前
模拟实现:glibc_1.0-文件操作函数fopen fclose fwrite fflush实现。
开发语言·c++·学习·c
liulilittle16 天前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯
weixin_4217252617 天前
C语言、C++与C#深度研究报告:从底层控制到现代企业级开发的演进
c语言·c++·c·内存管理·编译模型