A. AvtoBus

time limit per test

1 second

memory limit per test

256 megabytes

Spring has come, and the management of the AvtoBus bus fleet has given the order to replace winter tires with summer tires on all buses.

You own a small bus service business and you have just received an order to replace nn tires. You know that the bus fleet owns two types of buses: with two axles (these buses have 44 wheels) and with three axles (these buses have 66 wheels).

You don't know how many buses of which type the AvtoBus bus fleet owns, so you wonder how many buses the fleet might have. You have to determine the minimum and the maximum number of buses that can be in the fleet if you know that the total number of wheels for all buses is nn.

Input

The first line contains an integer tt (1≤t≤10001≤t≤1000) --- the number of test cases. The following lines contain description of test cases.

The only line of each test case contains one integer nn (1≤n≤10181≤n≤1018) --- the total number of wheels for all buses.

Output

For each test case print the answer in a single line using the following format.

Print two integers xx and yy (1≤x≤y1≤x≤y) --- the minimum and the maximum possible number of buses that can be in the bus fleet.

If there is no suitable number of buses for the given nn, print the number −1−1 as the answer.

Example

Input

Copy

复制代码

4

4

7

24

998244353998244352

Output

Copy

复制代码
1 1
-1
4 6
166374058999707392 249561088499561088

Note

In the first test case the total number of wheels is 44. It means that there is the only one bus with two axles in the bus fleet.

In the second test case it's easy to show that there is no suitable number of buses with 77 wheels in total.

In the third test case the total number of wheels is 2424. The following options are possible:

  • Four buses with three axles.
  • Three buses with two axles and two buses with three axles.
  • Six buses with two axles.

So the minimum number of buses is 44 and the maximum number of buses is 66.

解题说明:水题,首先需要保证n为偶数且要大于4,然后最小值是除以6,最大值除以4。

cpp 复制代码
#include <stdio.h>

int main() 
{
	int t;
	scanf("%d", &t);
	while (t--)
	{
		long long n;
		scanf("%lld", &n);
		if (n < 4 || n % 2 != 0) 
		{
			printf("-1\n");
		}
		else 
		{
			long long min = (n + 5) / 6;
			long long max = n / 4;
			printf("%lld %lld\n", min, max);
		}
	}
	return 0;
}
相关推荐
淡海水9 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
leobertlan9 小时前
好玩系列:训练一个神经网络模型指导小孩玩游戏2-大局观教练
算法
Tisfy10 小时前
LeetCode 3876.构造奇偶一致的数组 II:三种情况分类讨论(其实还是脑筋急转弯)
算法·leetcode·题解·脑筋急转弯
乐迪信息11 小时前
智慧港口船舶AI算法实现在线状态监测
大数据·人工智能·深度学习·算法·计算机视觉
木井巳12 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
心抵鹊13 小时前
归并排序之翻转对(hard)
数据结构·算法
白山编程大哥13 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
shehuiyuelaiyuehao13 小时前
算法34,位运算符操作,总结
算法
Navigator_Z13 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
Navigator_Z14 小时前
LeetCode //C++ - 1226. The Dining Philosophers
c语言·算法·leetcode