A web developer needs to know how to design a web page's size. So, given a specific rectangular web page’s area, your job by now is to design a rectangular web page, whose length L and width W satisfy the following requirements:


	The area of the rectangular web page you designed must equal to the given target area.
	The width W should not be larger than the length L, which means L &gt;= W.
	The difference between length L and width W should be as small as possible.


Return an array [L, W] where L and W are the length and width of the&nbsp;web page you designed in sequence.

&nbsp;
Example 1:

Input: area = 4
Output: [2,2]
Explanation: The target area is 4, and all the possible ways to construct it are [1,4], [2,2], [4,1]. 
But according to requirement 2, [1,4] is illegal; according to requirement 3,  [4,1] is not optimal compared to [2,2]. So the length L is 2, and the width W is 2.


Example 2:

Input: area = 37
Output: [37,1]


Example 3:

Input: area = 122122
Output: [427,286]


&nbsp;
Constraints:


	1 &lt;= area &lt;= 107


class Solution:
    def constructRectangle(self, area: int):
        y = Solution.mySqrt(area)
        for i in range(y, 0, -1):
            if not area%i:
                return [int(area/i), i]

    def mySqrt(x):
        if x == 0:
            return 0
        n = x
        count = 0
        while True:
            count += 1
            root = 0.5 * (n + (x / n))
            if abs(root - n) < 0.9:
                break
            n = root
        return int(root)
class Solution {
    public int[] constructRectangle(int area) {
        int minDiff = Integer.MAX_VALUE;
        int[] result = new int[2];
        
        for (int w = 1; w*w <= area; w++) {
            if (area % w == 0) {
                int l = area / w;
                int diff = l - w;
                if (diff < minDiff) {
                    result[0] = l;
                    result[1] = w;
                    minDiff = diff;
                }
            }
        }
        
        return result;
    }
}
class Solution
{
public:
    vector<int> constructRectangle(int area)
    {
        int sq = sqrt(area);
        while (sq > 1)
        {
            if (area % sq == 0)
                break;
            sq--;
        }
        return {area / sq, sq};
    }
};
/**
 * @param {number} area
 * @return {number[]}
 */
var constructRectangle = function(area) {
    let w = Math.floor(Math.sqrt(area))
    while(area % w != 0)    w--
    return [area/w, w]
};
Construct the Rectangle