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;
}
相关推荐
charlie1145141918 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(5):调试进阶篇 —— 从 printf 到完整 GDB 调试环境
linux·c++·单片机·学习·嵌入式·c
REDcker4 天前
C++ new、堆分配与 brk / mmap
linux·c++·操作系统·c·内存
qq_283720055 天前
C++ 基础:STL 原理介绍 + 实用技巧
c++·stl·c·模板库
4ever.ov08 天前
定时器/时间轮
开发语言·c++·c·muduo·llinux
REDcker11 天前
libevent、libev 与 libuv:对比、演进与实现原理
linux·c++·后端·编程·c·高并发·服务端
liulilittle13 天前
范围随机算法实现
开发语言·c++·算法·lua·c·js
逆小舟14 天前
【SWM320】FreeRTOS搭建工程——1、框架学习
嵌入式·c·rtos
handler0115 天前
算法:查并集
开发语言·数据结构·c++·笔记·学习·算法·c
xlp666hub16 天前
【Linux驱动实战】:带参数的内核模块
linux·c