C. The Legend of Freya the Frog

time limit per test

2 seconds

memory limit per test

256 megabytes

Freya the Frog is traveling on the 2D coordinate plane. She is currently at point (0,0)(0,0) and wants to go to point (x,y)(x,y). In one move, she chooses an integer dd such that 0≤d≤k0≤d≤k and jumps dd spots forward in the direction she is facing.

Initially, she is facing the positive xx direction. After every move, she will alternate between facing the positive xx direction and the positive yy direction (i.e., she will face the positive yy direction on her second move, the positive xx direction on her third move, and so on).

What is the minimum amount of moves she must perform to land on point (x,y)(x,y)?

Input

The first line contains an integer tt (1≤t≤1041≤t≤104) --- the number of test cases.

Each test case contains three integers xx, yy, and kk (0≤x,y≤109,1≤k≤1090≤x,y≤109,1≤k≤109).

Output

For each test case, output the number of jumps Freya needs to make on a new line.

Example

Input

Copy

复制代码

3

9 11 3

0 10 8

1000000 100000 10

Output

Copy

复制代码
8
4
199999

Note

In the first sample, one optimal set of moves is if Freya jumps in the following way: (0,00,0) →→ (2,02,0) →→ (2,22,2) →→ (3,23,2) →→ (3,53,5) →→ (6,56,5) →→ (6,86,8) →→ (9,89,8) →→ (9,119,11). This takes 8 jumps.

解题说明:此题是一道数学题,交替向上向右走,可以不走,请问到给定点需要走几次。由于可以走0步,所以向上走和向右走是相互独立的,只需要求出他们的最大值即可。注意走0步的移动也要统计在内。

cpp 复制代码
#include <iostream>
#include<algorithm>
using namespace std;

void solve()
{
	long long x, y, k;
	cin >> x >> y >> k;
	long long ansx = x / k + (x % k != 0), ansy = y / k + (y % k != 0);
	if (ansx > ansy)
	{
		cout << 2ll * ansx - 1 << endl;
	}
	else
	{
		cout << 2ll * ansy << endl;
	}
}
int main()
{
	int TT = 1;
	cin >> TT;
	while (TT--)
	{
		solve();
	}
	return 0;
}
相关推荐
Sylvia-girl3 小时前
Java——抽象类
java·开发语言
Yana.nice5 小时前
Bash函数详解
开发语言·chrome·bash
tomorrow.hello7 小时前
Java并发测试工具
java·开发语言·测试工具
晓13137 小时前
JavaScript加强篇——第四章 日期对象与DOM节点(基础)
开发语言·前端·javascript
老胖闲聊7 小时前
Python I/O 库【输入输出】全面详解
开发语言·python
她说人狗殊途8 小时前
java.net.InetAddress
java·开发语言
天使day8 小时前
Cursor的使用
java·开发语言·ai
Dxy12393102169 小时前
Python ExcelWriter详解:从基础到高级的完整指南
开发语言·python
源代码•宸10 小时前
C++高频知识点(十三)
开发语言·c++·经验分享·面经
wa的一声哭了10 小时前
python基础知识pip配置pip.conf文件
java·服务器·开发语言·python·pip·risc-v·os