A - Fast Fourier Transform

Posted shengge-777

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了A - Fast Fourier Transform相关的知识,希望对你有一定的参考价值。

Pavel had two positive integers a and b. He found their sum s and greatest common divisor g, and forgot a and b after that. Help him to restore the original numbers.

Input

A single line contains two integers s and g (1?≤?s?≤?109,?1?≤?g?≤?109) — sum and greatest common divisor of the numbers a and b.

Output

If Pavel made a mistake and there are no such numbers a and b, output a single number ?-?1.

Otherwise, output two positive integers a and b on a single line, separated by a space. If there are multiple possible solutions, output any of them.

Examples

Input
6 2
Output
4 2
Input
7 2
Output
-1
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    if(n%m!=0||n==m) cout<<-1<<endl;
    else {
        cout<<m<< <<n-m<<endl;
    }
    return 0;
}

 

以上是关于A - Fast Fourier Transform的主要内容,如果未能解决你的问题,请参考以下文章

C和FORTRAN的快速傅里叶/余弦/正弦变换(Fast Fourier/Cosine/Sine Transform)开源库分享

XTUOJ1250 Super Fast Fourier Transform 暴力

快速傅里叶变换FFT(Fast Fourier Transform)

Fourier级数

数理方程:Fourier变换与卷积(更新中)

短时傅里叶变换(Short Time Fourier Transform)原理及 Python 实现