# Find two distinct numbers such that their LCM lies in given range

Given two numbers **L** and **R**, the task is to find two distinct minimum positive integers **X** and **Y** such that whose LCM lies in the range **[L, R]**. If there doesn’t exist any value of X and Y then print **“-1”**.

**Examples:**

Input:L = 3, R = 8Output:x = 3, y=6Explanation:

LCM of 3 and 6 is 6 which is in range 3, 8

Input:L = 88, R = 90Output:-1Explanation:

Minimum possible x and y are 88 and 176 respectively, but 176 is greater than 90.

**Approach:** The idea is to choose the value of X and Y in such a way that their LCM lies in the given range **[L, R]**. Below are the steps:

- For the minimum value of
**X**choose**L**as the minimum value as this is the minimum value in the given range. - Now for the value of
**Y**choose**2*L**as this is the minimum value of Y whose LCM is**L**. - Now if the above two values of X and Y lie in the range
**[L, R]**, then this is required pair of integers with minimum possible values of X and Y. - Otherwise, print
**“-1”**as there doesn’t exist any other pair.

Below is the implementation of the above approach:

## C++

`// C++ program for the above approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find two distinct numbers` `// X and Y s.t. their LCM lies between` `// L and R and X, Y are minimum possible` `void` `answer(` `int` `L, ` `int` `R)` `{` ` ` `// Check if 2*L lies in range L, R` ` ` `if` `(2 * L <= R)` ` ` `// Print the answer` ` ` `cout << L << ` `", "` ` ` `<< 2 * L << ` `"\n"` `;` ` ` `else` ` ` `cout << -1;` `}` `// Driver Code` `int` `main()` `{` ` ` `// Given value of ranges` ` ` `int` `L = 3, R = 8;` ` ` `// Function call` ` ` `answer(L, R);` ` ` `return` `0;` `}` |

## Java

`// Java program for the above approach` `import` `java.io.*;` `class` `GFG{` `// Function to find two distinct numbers` `// X and Y s.t. their LCM lies between` `// L and R and X, Y are minimum possible` `static` `void` `answer(` `int` `L, ` `int` `R)` `{` ` ` `// Check if 2*L lies in range L, R` ` ` `if` `(` `2` `* L <= R)` ` ` `// Print the answer` ` ` `System.out.println(L + ` `", "` `+ (` `2` `* L));` ` ` ` ` `else` ` ` `System.out.println(` `"-1"` `);` `}` `// Driver Code` `public` `static` `void` `main(String[] args)` `{` ` ` ` ` `// Given value of ranges` ` ` `int` `L = ` `3` `, R = ` `8` `;` ` ` `// Function call` ` ` `answer(L, R);` `}` `}` `// This code is contributed by sanjoy_62` |

## Python3

`# Python3 program for the above approach` `# Function to find two distinct numbers` `# X and Y s.t. their LCM lies between` `# L and R and X, Y are minimum possible` `def` `answer(L, R):` ` ` `# Check if 2*L lies in range L, R` ` ` `if` `(` `2` `*` `L <` `=` `R):` ` ` `# Print the answer` ` ` `print` `(L, ` `","` `, ` `2` `*` `L)` ` ` `else` `:` ` ` `print` `(` `-` `1` `)` `# Driver Code` `# Given value of ranges` `L ` `=` `3` `R ` `=` `8` `# Function call` `answer(L, R)` `# This code is contributed by sanjoy_62` |

## C#

`// C# program for the above approach` `using` `System;` `class` `GFG{` `// Function to find two distinct numbers` `// X and Y s.t. their LCM lies between` `// L and R and X, Y are minimum possible` `static` `void` `answer(` `int` `L, ` `int` `R)` `{` ` ` `// Check if 2*L lies in range L, R` ` ` `if` `(2 * L <= R)` ` ` ` ` `// Print the answer` ` ` `Console.WriteLine(L + ` `", "` `+ (2 * L));` ` ` ` ` `else` ` ` `Console.WriteLine(` `"-1"` `);` `}` `// Driver Code` `public` `static` `void` `Main()` `{` ` ` ` ` `// Given value of ranges` ` ` `int` `L = 3, R = 8;` ` ` `// Function call` ` ` `answer(L, R);` `}` `}` `// This code is contributed by sanjoy_62` |

## Javascript

`<script>` `// JavaScript program for the above approac` `// Function to find two distinct numbers` `// X and Y s.t. their LCM lies between` `// L and R and X, Y are minimum possible` `function` `answer(L, R)` `{` ` ` `// Check if 2*L lies in range L, R` ` ` `if` `(2 * L <= R)` ` ` `// Print the answer` ` ` `document.write(L + ` `", "` ` ` `+ 2 * L + ` `"<br>"` `);` ` ` `else` ` ` `document.write(-1);` `}` `// Driver Code` ` ` `// Given value of ranges` ` ` `let L = 3, R = 8;` ` ` `// Function call` ` ` `answer(L, R);` `// This code is contributed by Manoj.` `</script>` |

**Output:**

3, 6

**Time Complexity:** O(1)**Auxiliary Space:** O(1)