A. Blackslex and Password

time limit per test

1 second

memory limit per test

256 megabytes

Blackslex is designing a log-in system for Gean Dev and discovered that most users use weak passwords.

To resolve this issue, he posed the following conditions, dependent on two variables k and x, for all passwords. Each password is a string s of length n satisfying these properties.

  • s uses only the first k lowercase letters of the English alphabet.
  • For every pair of indices 1≤i<j≤n such that (j−i) is divisible by x, the letters si and sj are different.

Find the smallest integer n such that no valid string of length n exists.

Input

The first line contains a single integer t (1≤t≤500) --- the number of test cases.

The first and only line of each test case contains two integers k and x (1≤k≤26, 1≤x≤15).

Output

For each test case, output the minimal n.

Example

Input

Copy

复制代码

3

2 1

3 2

1 5

Output

Copy

复制代码

3

7

6

Note

For the first test case, there are no valid strings of length n=3. For n=2, one such valid example is ab. Note that the only pair (i,j) that (j−i) is divisible by x=1 and 1≤i<j≤n for n=2 is (1,2).

For the second test case, there are no valid strings of length n=7. For n=6, one such valid example is aabccb. Note that all pairs (i,j) that (j−i) is divisible by x=2 and 1≤i<j≤n for n=6 include (1,3), (1,5), (2,4), (2,6), (3,5), and (4,6).

For the third test case, there are no valid strings of length n=6. For n=5, one such valid example is aaaaa. Note that there are no pairs (i,j) that (j−i) is divisible by x=5 and 1≤i<j≤n for n=5.

解题说明:此题是一道数学题,找规律能发现输出k*x+1。求出来满足有效字符串的最大的n,将其+1即可,让每个字符连续出现x次,答案即为k*x+1。

cpp 复制代码
#include<stdio.h>
int main()
{
	int t;
	scanf("%d", &t);
	for (int i = 0; i < t; i++)
	{
		int k, x;
		scanf("%d %d", &k, &x);
		printf("%d\n", 1 + k * x);
	}
	return 0;
}
相关推荐
csdn_aspnet8 小时前
C语言 Lomuto分区算法(Lomuto Partition Algorithm)
c语言·开发语言·算法
谙弆悕博士8 小时前
【附C源码】从零实现C语言堆数据结构:原理、实现与应用
c语言·数据结构·算法··数据结构与算法
三品吉他手会点灯13 小时前
C语言学习笔记 - 35.数据类型 - printf函数的非输出控制符与格式优化
c语言·开发语言·笔记·学习
Ghost Face...14 小时前
U-Boot SPL阶段与主阶段深度解析:从ROM到Kernel的完整引导之旅(ARMv8)
c语言
三品吉他手会点灯15 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
t-think17 小时前
深入理解指针(2)
c语言·开发语言
我不是懒洋洋17 小时前
从零开始实现一个简单的神经网络:C语言版
c语言
百万老师18 小时前
自然语言编程时代,如何零基础学习掌握嵌入式编程
c语言·单片机·嵌入式硬件·学习·ai全流程闭环开发
淞綰19 小时前
c语言的练习-字符串的练习-寻找最长连续字符以及出现次数
c语言·数据结构·学习·算法·c语言的练习
三品吉他手会点灯21 小时前
C语言学习笔记 - 36.数据类型 - 为什么需要输出控制符
c语言·开发语言·笔记·学习