//#include<iostream>
//#include<algorithm>
//using namespace std;
//const int MAXN=1001;
//int a[MAXN],maxLen[MAXN];
//int main(){
// int N=1;
// while (cin>>a[N])maxLen[N]=1,N++; //初始化每个值为1
// for (int i =2;i<N;i++)
// { //求以i为终点的最大子序列
// for (int j=1;j<i;j++)
// { //查看i之前的最大子序列是否需要改变
// if (a[i]>=a[j])
// {
// maxLen[i] =max(maxLen[i],maxLen[j]+1);
// }
// }
// }
// cout<<*max_element(maxLen+1,maxLen+N);
// return 0;
//}
//300 250 275 252 200 138 245
//#include<bits/stdc++.h>
//using namespace std;
//int n,m,tree[101]={0};
//int main()
//{
// int x,y,root,dnum,max=0,sum;
// cin>>n>>m;
// for(int i=1;i<=m;i++)
// {
// cin>>x>>y;
// tree[y]=x;
// }
// for(int i=1;i<=n;i++) //找出树根
// {
// if (tree[i]==0)
// {root=i;
// break;
// }
// }
// cout<<root<<endl;
// for(int i=1;i<=n;i++) //找孩子最多的结点
// {
// sum=0;
// for(int j=1;j<=n;j++) if(tree[j]==i) sum++;
// if (sum>max)
// {
// max=sum;
// dnum=i;
// }
// }
// cout<<dnum<<endl;
// for(int i=1;i<=n;i++) //找孩子最多节点的孩子
// {
// if (tree[i]==dnum)
// cout<<i<<" ";
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n;
// cin>>n;
// int a[n+1],b[n+1];//a表示当前站点鱼单价,b表示单条鱼运到下一站的费用
// for(int i=1;i<=n;i++){
// cin>>a[i]>>b[i];
// }
// int s=0,now;
// s+=a[1];//第一站花费
// now=a[1];//第一站选择鱼的费用
// for(int i=2;i<=n;i++){//第2站到第n站
// //i号吃的鱼,有两种选择:1.上一站运过来(也就是上一站吃的鱼费用加运输费 2.本站的鱼费用
// now=min(now+b[i-1],a[i]);
// s+=now;
// }
// cout<<s;
// return 0;
//}
////搜索回溯
//#include <iostream>
//using namespace std;
//int c; //载重量
//int n; //集装箱数量
//int w[100]; //集装箱重量
//int cw; //c当前载重量
//int bestw; //c当前最优载重量
//int r; //剩余集装箱重量
//int x[100]; //当前解
//int bestx[100]; //当前最优解
//
//void Backtrack(int i){
// if(i > n){
// //当前解由于最优解,更新之
// if(cw > bestw){
// for(int j = 1; j <= n; j++) //保存那个箱子装载
// bestx[j] = x[j];
// bestw = cw;
// }
// }else{
// //搜索子树,放入或不放入
// r -= w[i]; //剩余容量集合去掉w[i]
// if(cw + w[i] <= c){ //可放入,且放入 搜索左子树
// x[i] = 1; //放入
// cw += w[i];
// Backtrack(i+1);
// cw -= w[i];
// }
// if(cw + r > bestw){//剩余容量集合依然是去掉w[i],因为w[i]不放入 //搜索右子树 箱子总重量大于c当前最优载重量
// x[i] = 0;
// Backtrack(i+1);
// }
// r += w[i]; //回溯
// }
//}
//int main(){
// cin>>n>>c;
// cw = 0; //每组样例初始化
// r = 0;
// bestw = 0;
// for(int i = 1; i <= n; i++){
// cin >> w[i];
// r += w[i];
// }
// Backtrack(1);
// cout<<bestw;
// return 0;
//}
//#include<iostream>
//using namespace std;
//int m,n,w[50001],c[50001],f[50001];
//int main()
//{
// cin>>m>>n;
// for(int i=1;i<=n;i++){
// cin>>w[i]>>c[i];
// }
// for(int i=1;i<=n;i++)
// for(int j=w[i];j<=m;j++){
// if(f[j-w[i]]+c[i]>f[j])f[j]=f[j-w[i]]+c[i];
// }
// cout<<f[m]<<endl;//最优解
//}
//#include<bits/stdc++.h>
//using namespace std;
//int m,n,w[50001],c[50001],f[50001];
//int main(){
// cin>>m>>n;
// for(int i = 1; i <= n; i++)
// cin>>w[i]>>c[i];
// for(int i = 1; i <= n; i++)
// for(int x=1;x<=m/w[i];x++)
// for(int j = m; j >= w[i]; j--){
// f[j]=max(f[j],f[j-w[i]]+c[i]);
// }
// cout<<f[m]<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int m,n,w[50001],c[50001],f[50001];
//int main(){
// cin>>m>>n;
// for(int i = 1; i <= n; i++)
// cin>>w[i]>>c[i];
// for(int i = 1; i <= n; i++)
// for(int x=1;x<=m/w[i];x++)
// for(int j = m; j >= w[i]; j--)
// {
// f[j]=max(f[j],f[j-w[i]]+c[i]);
//// for(int i=1;i<=m;i++){
//// cout<<f[i]<<" ";
//// }
//// cout<<endl;
// }
// cout<<f[m]<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int m,n,w[31],c[31],f[31][201];
//int main(){
// cin>>m>>n;
// for(int i = 1; i <= n; i++)
// cin>>w[i]>>c[i];
//
// for(int i = 1; i <= n; i++)
// for(int j = 0; j <= m; j++)
// {
// if(j>=w[i])
// f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+c[i]);
// else
// f[i][j]=f[i-1][j];
// }
// cout<<f[n][m]<<endl;
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int a[1001]={0},n;
// cin>>n;
// for(int i=1;i<=n;i++)cin>>a[i];
// for(int i=2;i<=n+1;i++){
// a[i]=min(a[i]+a[i-1],a[i-2]+a[i]*2);
// }
// cout<<a[n+1];
// return 0;
//}
//#include<iostream>
//#define maxn 105
//using namespace std;
//int n; //塔的层数
//int data[maxn][maxn]; // 存数塔原始数据
//int dp[maxn][maxn]; //自底向上,记录从点(i,j)出发到数塔底层的路径最大和
//
//void tower_DP()//动态规划求最大值
//{
// for(int i=0;i<n;i++) //填数塔最底层
// {
// dp[n-1][i]=data[n-1][i];
// }
//for(int i=n-2;i>=0;i--) //更新除数塔最底层外的各个点的路径最大和
// {
// for(int j=0;j<=i;j++)
// {
// dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+data[i][j];//状态转移方程
// }
// }
// cout<<"最大值为:"<<dp[0][0]<<endl;
//}
//
//void print()//动态规划输出最大值路径
//{
// int j=0;
// cout<<"最大路径:"<<data[0][0];
// for(int i=1;i<n;i++)
// {
// if(dp[i-1][j]-data[i-1][j]==dp[i][j])
// cout<<"->"<<data[i][j];
// else{
// cout<<"->"<<data[i][j+1];
// j++;
// }
//
//
// }
// cout<<endl;
//}
//
//int main()
//{
// int i,j;
// cin>>n;
// for(i=0;i<n;i++)//输入塔的节点
// for(j=0;j<=i;j++)
// cin>>data[i][j];
// tower_DP();
// print() ;
// return 0;
//}
///*
//389 207 155 300 299 170 158 65
//*/
//#include<iostream>
//#include<cstring>
//#define MAXN 1000
//using namespace std;
//int a[MAXN+10];//导弹飞来时的高度
//int l[MAXN+10];//拦截导弹最低高度
//int main()
//{
// memset(a,0,sizeof(a));
// memset(l,0,sizeof(l));
// int n=1;
// while(cin>>a[n])
// {
// n++;
// }
// int k=1;//拦截导弹系统数
// int p,j=1;
// l[k]=a[1];
// for(int i=2;i<=n;i++)
// {
// p=0;//注意每次循环时需要p=0
// for(int j=1;j<=k;j++)//注意,j<=k //扫描现有的系统,寻找看是否有可用的系统
// {
// if(l[j]>=a[i])//可用使用a[i]来拦截
// {
// if(p==0) p=j; //首次发现可用的系统
// else if(l[p]>l[j]) p=j;//如果同时满足例如l[1]=155>65,l[2]=158>65,则应该应将最小值赋值给最小拦截系统
// }
// }
// if(p==0)
// {
// k++;//如果发现a[i]>l[j],则应该增加一个系统
// l[k]=a[i];//更新新系统的最小值
// }
// else l[p]=a[i];//更新原系统的拦截最小值
// }
// cout<<k<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,a[10001];
// cin>>n;
// int ave=0,step=0;
// for(int i=1;i<=n;i++){
// cin>>a[i];//读入各堆牌张数,求总张数ave
// ave+=a[i];
// }
// ave/=n;//求牌的平均张数ave
// for(int i=1;i<=n;i++){//每堆牌的张数减去平均数
// a[i]-=ave;
// }
// int i=1,j=n;
// while(a[i]==0&&i<n)i++;//过滤左边的0
// while(a[j]==0&&j>1)j--;//过滤右边的0
// while(i<j){
// a[i+1]+=a[i];//将第i堆牌移到第i+1堆中去
// a[i]=0;//第i堆牌移走后变为0
// step++;//移牌步数计数
// i++;//对下一堆牌进行循环操作
// while(a[i]==0&&i<j)i++;//过滤移牌过程产生的0
// }
// cout<<step<<endl;
// return 0;
//}
//#include<iostream>
//#include<cstring>
//#include<cstdio>
//#include<algorithm>
//using namespace std;
//int main()
//{
// int n,r;//n表示n个人 r表示r个水龙头
// int T[501],W[100];//T[i]打水时间,W[i]为等待时间
//
// while(cin>>n>>r)
// {
// memset(W,0,sizeof(W));
// int sum=0;
// for(int i=0;i<n;i++)
// {
// cin>>T[i];
// }
// sort(T,T+n);//打水时间由低到高排序
// for(int i=0;i<n;i++)
// {
//// sort(W,W+r);//等待时间少的排在前面
// sum+=T[i]+W[0];
// W[0]+=T[i];
// }
// printf("%d",sum);
// cout<<endl;
// }
//}
//#include<iostream>
//using namespace std;
//int main(){
// double sum=0,h=100,i=1;
// sum += h;
// while(i<=9){
// h /= 2;
// sum += h*2;
// i++;
// }
// cout<<sum;
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int a,i=1,arr[101];
// cin>>a;//8 0001
// while(true){
// if(a==0)break;
// arr[i]=a%2;
// a=a/2;
// i=i+1;
// }
// for(int j=i-1;j>=1;j--){
// cout<<arr[j];
// }
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int i;
// for( i=7-1;i>=1;i--){
// cout<<i<<endl;
// }
// cout<<i;
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
//// double a;
//// double b;
//// double c;
//// double max;
//// cin>>a>>b>>c;
//// max=a;
//// if(max<b){
//// max=b;
//// }
//// if(max<c){
//// max=c;
//// }
//// cout<<max;
// long long i=1,sum=0,n;
// while(i<=10){
// cin>>n;
// sum=sum+n;
// i=i+1;
// }
// cout<<sum;
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int a,i;
// bool flag=true;
// cin>>a;
// i=2;
// while(i<a){
// if(a%i==0){
// flag=false;
// break;;;;;;;
// }
// i=i+1;
// }
// if(flag==true){
// cout<<a<<"是质数"<<endl;
// }else{
// cout<<a<<"不是质数"<<endl;
// }
//
//
// return 0;
//}
//#include<iostream>
//
//using namespace std;
//int dayNumber(int a,int b,int c){
// int days=0;
// bool flag=false;//false表示平年
// if((a%4==0 && a%100!=0)||a%400==0){
// flag=true;
// }
// switch(b){
// case 1:days=c;break;
// case 2:days=31+c;break;
// case 3:days=31+28+flag+c;break;
// case 4:days=31+28+31+flag+c;break;
// case 5:days=31+28+31+30+flag+c;break;
// case 6:days=31+28+31+30+31+flag+c;break;
// case 7:days=31+28+31+30+31+30+flag+c;break;
// case 8:days=31+28+31+30+31+30+31+flag+c+1;break;
// case 9:days=31+28+31+30+31+30+31+30+flag+c+1;break;
// case 10:days=31+28+31+30+31+30+31+30+31+flag+c+1;break;
// case 11:days=31+28+31+30+31+30+31+30+31+30+flag+c+1;break;
// case 12:days=31+28+31+30+31+30+31+30+31+30+31+flag+c+1;break;
// }
// return days;
//}
//
//int main(int a){
//
// int starYear,starMonth,starDay;
// int endYear,endMonth,endDay;
// int daySum=0;
// cout<<"请输入开始的时期:" <<endl;
// cin>>starYear>>starMonth>>starDay;
// cout<<"请输入结束的时期:" <<endl;
// cin>>endYear>>endMonth>>endDay;
//// dayNumber(starYear,starMonth,starDay);
// if(starYear==endYear){
// daySum=dayNumber(endYear,endMonth,endDay)-dayNumber(starYear,starMonth,starDay);
// }else{
// for(int i=starYear+1;i<endYear;i++){
// if((i%4==0 && i%100!=0)||i%400==0){
// daySum=daySum+366;
// }else{
// daySum=daySum+365;//daySum += 366;
// }
// }
// if((starYear%4==0 && starYear%100!=0)||starYear%400==0){
// daySum=daySum+366-dayNumber(starYear,starMonth,starDay)+ dayNumber(starYear,starMonth,starDay);
// }else{
// daySum=daySum+365-dayNumber(starYear,starMonth,starDay)+ dayNumber(starYear,starMonth,starDay);
// }
// }
// cout<<daySum;
// return 0;
//}
//#include<iostream>
//#include<cstring>
//using namespace std;
//int main(){
// string s;
// char c[100];
// cin>>s;
// cin>>c;
// cout<<s.length()<<endl;
// cout<<strlen(c)<<endl;
// return 0;
//}
//#include<iostream>
//#include<cstring>
//#include<algorithm>
//
//using namespace std;
//int main(){
// char s[300]={0};
// int a[31],b[31],l=0,x=0,t=0;
// cin>>s;
//// cout<<s<<endl;
// l=strlen(s);
// for(int i=0;i<l;i++){
// if(s[i]==','){
// a[t]=x;
// t++;
// x=0;
// }else{
// x=x*10+(s[i]-'0');
// }
// if(i==l-1){
// a[t]=x;
// t++;
// }
// }
// for(int i=0;i<t;i++){
// b[i]=a[i];
// }
// sort(a+0,a+t-1);
// cout<<t<<endl;
// cout<<a[0]<<endl;
// for(int i=t-1;i>=0;i--){
// cout<<a[i];
// if(i!=0){
// cout<<",";
// }
// }
// cout<<endl;
// for(int i=0;i<t;i++){
// if(b[i]<=26&&b[i]>=1){
// cout<<char(b[i]+64);
// }else if(b[i]==214){
// cout<<"*";
// }
// }
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// bool tt[101][101]={false};
// int t[101]={0},a,k,N,index;
// cin>>N;
// for(int i=1;i<=N;i++){
// cin>>a>>k;
// for(int j=1;j<=k;j++){
// cin>>index;
// t[index]++;
// tt[index][a]=true;
// }
// }
//
// int maxIndex=1;
// for(int i=1;i<=100;i++){
// if(t[maxIndex]<t[i]){
// maxIndex=i;
// }
// }
//
// cout<<maxIndex<<endl;
//
// for(int i=1;i<=100;i++){
// if(tt[maxIndex][i]){
// cout<<i<<" ";
// }
// }
// return 0;
//}
//#include<iostream>
//#include<algorithm>
//using namespace std;
//int main(){
// int n,a[501],b[501],sum=0;
// cin>>n;
// for(int i=1;i<=n;i++){
// cin>>a[i];
// if(a[i]%2==1){
// sum++;
// b[sum]=a[i];
// }
// }
//
// sort(b+1,b+sum+1);
// for(int i=1;i<sum;i++){
// cout<<b[i]<<",";
// }
// cout<<b[sum];
//
// return 0;
//}
//#include<iostream>
//#include<iomanip>
//#include<cstdio>
//using namespace std;
//int main(){
// double a;
// bool flag=false;
// char c;
// cin>>c>>a;
// if(c=='V'){
// if(a<=500){
// a=0.85*a;
// }else if(a<=1000){
// a=0.8*a;
//// a *=0.8;
// }else{
// a= a*7.5*0.1;
// flag=true;
// }
// }else{
// if(a<=500){
// a=0.9*a;
// }else {
// a=0.9*a;
// flag=true;
// }
// }
//
// if(flag)cout<<"YES"<<endl;
// else cout<<"NO"<<endl;
//
// cout<<fixed<<setprecision(2)<<a<<endl;
// printf("%.2f",a);
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int n;
//bool isCheck(bool t[101][101]){
// int x,y;
// for(int i=1;i<=n;i++){
// x=0,y=0;
// for(int j=1;j<=n;j++){
// x = x+t[i][j];
// y = y+t[j][i];
// }
// if(x%2!=0||y%2!=0){
// return false;
// }
// }
// return true;
//}
//int main(){
// bool a[101][101],flag=true;
// int x,y;
// cin>>n;
// for(int i=1;i<=n;i++){
// for(int j=1;j<=n;j++){
// cin>>a[i][j];
// }
// }
//
// if(isCheck(a)==true){
// cout<<"OK"<<endl;
// return 0;
// }
//
//
// for(int i=1;i<=n;i++){
// for(int j=1;j<=n;j++){
// a[i][j]=!a[i][j];
// if(isCheck(a)==true){
// cout<<i<<" "<<j<<endl;
// return 0;
// }
// a[i][j]=!a[i][j];
// }
// }
//
// cout<<"Corrupt"<<endl;
// return 0;
//}
//#include<iostream>
//#include<cstring>
//using namespace std;
//int main(){
// char s[201]={'a'};
// gets(s);
// for(int i=0;i<strlen(s);i++){
// if(s[i]>=65&&s[i]<=90){
// cout<<char(65+(s[i]-65+26-5)%26);
// }else{
// cout<<s[i];
// }
// }
// return 0;
//}
//#include<iostream>
//#include<cmath>
//#include<ctime>
//#include<cstdlib>
//using namespace std;
//int a[12][12]={0};
//int main(){
// int h,l,c,r;
// srand((int)time(NULL));
// cin>>h>>l>>c>>r;
// for(int i=1;i<=h;i++){
// for(int j=1;j<=l;j++){
// if(rand()%9==0||rand()%9==1)a[i][j]=1;
// }
// }
//// c++,r++;
// for(int i=1;i<=h;i++){
// for(int j=1;j<=l;j++){
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
//
// if(a[c][r]==0){
// cout<<a[c][r-1]+a[c][r+1]+a[c-1][r-1]+a[c-1][r]+a[c-1][r+1]+a[c+1][r-1]+a[c+1][r]+a[c+1][r+1];
// }else
// cout<<"game over"<<endl;
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//bool check(int n){
// int m = n,x = 0;
// while(n){
// x = x*10+n%10;
// n/=10;
// }
// return (m == x?true:false);
//}
//int main(){
// int a=5;
//
// int &b=a;//&引用 只能在变量声明用的
//
// cout<<&b<<endl;
// cout<<&a<<endl; //&取地址
// return 0;
//}
// int a[6]={1,2,3,4,5,6},n;
// cin>>n;
// for(int i=n-1;i<6-1;i++){
// a[i]=a[i+1];
// for(int i=0;i<6;i++)
// cout<<a[i]<<" ";
// cout<<endl;
// }
//
// for(int i=0;i<5;i++){
// cout<<a[i]<<" ";
// }
// cin>>n;
// for(int i=0;i<n;i++){
// cin>>a[i];
// }
// int min,max;
// min=a[0];
// max=a[0];
// for(int i=1;i<n;i++){
// if(a[i]<min)min=a[i];
// if(a[i]>max)max=a[i];
// }
// cout<<min<<endl;
// cout<<max<<endl;
// for(int i=0;i<n;i++){
// cout<<a[i]<<" ";
// }
// int n,scord,min,max;
// cin>>n;
// cin>>scord;
// min=scord;
// max=scord;
// for(int i=1;i<n;i++){
// cin>>scord;
// if(scord>max) max=scord;
// if(scord<min) min=scord;
// }
// cout<<"dfdff:"<<min<<endl;
// cout<<max<<endl;
// return 0;
//}
//#include<iostream>
//#include<algorithm> //algorithm algorithm
//#include<iomanip>
//using namespace std;
//int main(){
// int a=3;
// A:
// a=0;
// cout<<a<<endl;
// B:
// a=1;
// cout<<a<<endl;
//
//
//
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//bool a(int b){
// if((i%4==0&&i%100!=0)||i%400==0){
// return true;
// }
// return false;
//}
//int main(){
// int n,sum=0;
// cin>>n;
// for(int i=2020;i<=n;i++){
// if(a(i)==true){
// sum++;
// }
// }
// cout<<sum;
// return 0;
//}
//#include<iostream>
//#include<cstdlib>
//#include<ctime>
//using namespace std;
//int main(){
// srand((int)time(NULL)); //功能 让rand()
// for(int i=0;i<100;i++){
// cout<<rand()<<endl;
// }
//
//
// return 0;
//}
//#include<iostream>
//
//using namespace std;
//int dayNumber(int a,int b,int c){
// int days=0;
// bool flag=false;//false表示平年
// if((a%4==0 && a%100!=0)||a%400==0){
// flag=true;
// }
// switch(b){
// case 1:days=c;break;
// case 2:days=31+c;break;
// case 3:days=31+28+flag+c;break;
// case 4:days=31+28+31+flag+c;break;
// case 5:days=31+28+31+30+flag+c;break;
// case 6:days=31+28+31+30+31+flag+c;break;
// case 7:days=31+28+31+30+31+30+flag+c;break;
// case 8:days=31+28+31+30+31+30+31+flag+c+1;break;
// case 9:days=31+28+31+30+31+30+31+30+flag+c+1;break;
// case 10:days=31+28+31+30+31+30+31+30+31+flag+c+1;break;
// case 11:days=31+28+31+30+31+30+31+30+31+30+flag+c+1;break;
// case 12:days=31+28+31+30+31+30+31+30+31+30+31+flag+c+1;break;
// }
// return days;
//}
//
//int main(int a){
//
// int starYear,starMonth,starDay;
// int endYear,endMonth,endDay;
// int daySum=0;
// cin>>starYear>>starMonth>>starDay;
// cin>>endYear>>endMonth>>endDay;
//// dayNumber(starYear,starMonth,starDay);
// if(starYear==endYear){
// daySum=dayNumber(endYear,endMonth,endDay)-dayNumber(starYear,starMonth,starDay);
// }else{
// for(int i=starYear+1;i<endYear;i++){
// if((i%4==0 && i%100!=0)||i%400==0){
// daySum=daySum+366;
// }else{
// daySum=daySum+365;//daySum += 366;
// }
// }
// if((starYear%4==0 && starYear%100!=0)||starYear%400==0){
// daySum=daySum+366-dayNumber(starYear,starMonth,starDay)+ dayNumber(starYear,starMonth,starDay);
// }else{
// daySum=daySum+365-dayNumber(starYear,starMonth,starDay)+ dayNumber(starYear,starMonth,starDay);
// }
// }
// cout<<daySum;
// return 0;
//}
//#include<bits/stdc++.h>
//#include<iostream>
//#include<algorithm>
////#include<cmath>
////#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int a,b;
// cin>>a>>b;
//Greatest Common Divisor(GCD)
// cout<<__gcd(a,b);
// return 0;
//}
//#include<bits/stdc++.h>
//#include<iostream>
//#include<cstring>
//#include<cmath>
//#include<iomanip>
//#include<cstdio>
//using namespace std;
//int main(){
// char a[101],b[101];
// int j=0;
// cin>>a;
// cout<<"b"<<":"<<b<<endl;
// cout<<strlen(b)<<endl;
// for(int i=strlen(a)-1;i>=0;i--,j++){
// b[j]=a[i];
// }
// b[j]='\0';
// cout<<b<<endl;;
// for(int i=strlen(a)-1;i>=0;i--){
// if(b[i]!=a[i]){
// cout<<"NO";
// return 0;
// }
// }
// cout<<"YES";
// return 0;
//}
//#include"aa.h"
//#include<bits/stdc++.h>
//int main(){
//// aa();
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// string s;
// cin>>s;
// char c[100];
// cin>>c;
// cout<<s.length()<<endl;
// cout<<strlen(c)<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int a[101],n;
// cin>>n;
// for(int i=0;i<n;i++)cin>>a[i];
//
// for(int i=0;i<n-1;i++){
// bool flag=true;
// for(int j=0;j<n-1-i;j++){
// if(a[j]>a[j+1]){
// int temp=a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// flag=false;
// }
// }
// if(flag==true)break;
// for(int e=0;e<n;e++)cout<<a[e]<<" ";
// cout<<endl;
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double a[1001],c=0,score;
// int n;
// cin>>score>>n;
// for(int i=1;i<=n;i++){
// cin>>a[i];
// }
// for(int i=1;i<=n;i++){
// if(a[i]>score)c++;
// }
// cout<<(c+1)/n<<endl;
// if((c+1)/n<=0.1){
// cout<<"A"<<endl;
// }else if((c+1)/n<=0.3){
// cout<<"B"<<endl;
// }else if((c+1)/n<=0.6){
// cout<<"C"<<endl;
// }else if((c+1)/n<=0.8){
// cout<<"D"<<endl;
// }else cout<<"E"<<endl;
//
// return 0;
//}
//#include<iostream>
//#include<cstring>
//using namespace std;
//int tianshu(int y,int m,int d){
// bool flag=false;//true false
// int days=0;
// if((y%4==0&&y%100!=0)||y%400==0){
// flag=true;
// }
// switch(m){
// case 1:days=d;break;
// case 2:days=31+d;break;
// case 3:days=31+28+d+flag;break;
// case 4:days=31+28+d+flag+30;break;
// }
// return days;
//}
//
//int main(){
// int Y,M,D;
// cin>>Y>>M>>D;
// cout<<tianshu(Y,M,D);
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double n,scord[101];
// string names[101];
// cin>>n;
// for(int i=0;i<n;i++){
// cin>>names[i]>>scord[i];
// }
// int min;
// double temp1;
// string temp2;
//// for(int i=0;i<n-1;i++){
//// min=i;
//// for(int j=i+1;j<n;j++){
//// if(scord[j]<scord[min])min=j;
//// }
//// temp1=scord[i];
//// scord[i]=scord[min];
//// scord[min]=temp1;
//// temp2=names[i];
//// names[i]=names[min];
//// names[min]=temp2;
//// }
// for(int i=0;i<n-1;i++){
// for(int j=0;j<n-1-i;j++){
// if(scord[j]>scord[j+1]){
// temp1=scord[j];
// scord[j]=scord[j+1];
// scord[j+1]=temp1;
// temp2=names[j];
// names[j]=names[j+1];
// names[j+1]=temp2;
// }else
// if(scord[j]==scord[j+1]&&names[j]<names[j+1]){
// temp2=names[j];
// names[j]=names[j+1];
// names[j+1]=temp2;
// }
// }
// }
// for(int i=n-1;i>=0;i--){
// cout<<names[i]<<" "<<scord[i]<<endl;;
// }
// return 0;
//}
//冒泡排序
//#include<iostream>
//using namespace std;
//int main(){
// int n,a[101];
// cin>>n;
// for(int i=0;i<n;i++)cin>>a[i];
// for(int i=0;i<n-1;i++){
// int min=i;
// for(int j=i+1;j<n;j++){
// if(a[min]>a[j]){
// min=j;
// }
// }
// int temp=a[min];
// a[min]=a[i];
// a[i]=temp;
// }
// for(int i=0;i<n;i++)cout<<a[i]<<" ";
// return 0;
//}
//优化冒泡排序
//#include<iostream>
//using namespace std;
//int main(){
// int n, a[101];
// cin>>n;
// for(int i=0;i<n;i++)cin>>a[i];
// bool flag;
// for(int i=0;i<n-1;i++){
// flag=true;
// for(int j=0;j<n-1-i;j++){
// if(a[j]>a[j+1]){
// int temp=a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// flag=false;
// }
// }
// if(flag==true){
// break;
// }
// }
//
// for(int i=0;i<n;i++)cout<<a[i]<<" ";
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int n,a[101];
// cin>>n;
// for(int i=0;i<n;i++)cin>>a[i];
//
// for(int i=0;i<n-1;i++){
// for(int j=0;j<n-1-i;j++){
// if(a[j]>a[j+1]){
// int temp=a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// for(int i=0;i<n;i++)cout<<a[i]<<" ";
// return 0;
//}
//#include<iostream>
//#include<algorithm>
//using namespace std;
//int nums[100010]; // 用来存储输入的n个整数
//int n;
//long long m;
//int base;
//int top;
//bool find(long long key) //二分查找
// {
// while(base<=top)
// {
// int mid=(base+top)/2;
// if(nums[mid]==key)
// {
// return true;
// }
// else if(nums[mid]<key) //在右半区间
// {
// base=mid+1;
// }
// else //在左半区间
// {
// top=mid-1;
// }
// }
// return false; //表示原来数据中无查找数据
// }
//int main(){
// cin>>n;
// for(int i=0;i<n;i++){
// cin>>nums[i];
// }
// cin>>m;
// sort(nums,nums+n); //对输入的n个数据进行快速排序
// for(int i=0;i<n;i++){
// long long key=m-nums[i];
// base=i+1;
// //寻找key是只针对i后面的进行 避免重复搜 还有这样可以满足输出的时候先小后大的要求
// top=n-1;
// if(find(key)){
// cout<<nums[i]<<" "<<key<<endl;
// return 0;
// }
// }
// cout<<"No"<<endl; //原来数据不满足要求
//}
//没问题代码
//#include<iostream>
//#include<cstring>
//using namespace std;
//#define maxSize 21
//struct student
//{
// char name[maxSize];
// int score;
//};
//int main()
//{
// struct student s[maxSize],temp;
// int n;
// cin>>n;
// for(int i=0; i<n; i++)
// cin>>s[i].name>>s[i].score;
// //冒泡排序
// for(int i=0; i<n-1; i++){
// for(int j=0; j<n-i-1; j++){
// if(s[j].score<s[j+1].score){
// temp = s[j];
// s[j] = s[j+1];
// s[j+1] = temp;
// }
// if(s[j].score==s[j+1].score && strcmp(s[j].name,s[j+1].name)>0){
// temp = s[j];
// s[j] = s[j+1];
// s[j+1] = temp;
// }
// }
// }
// for(int i=0; i<n; i++)
// cout<<s[i].name<<" "<<s[i].score<<endl;
// return 0;
//}
//有问题的代码
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double n,scord[101];
// string names[101];
// cin>>n;
// for(int i=0;i<n;i++){
// cin>>names[i]>>scord[i];
// }
// int min;
// double temp1;
// string temp2;
// for(int i=0;i<n-1;i++){
// min=i;
// for(int j=i+1;j<n;j++){
// if(scord[j]<scord[min])min=j;
// }
// temp1=scord[i];
// scord[i]=scord[min];
// scord[min]=temp1;
// temp2=names[i];
// names[i]=names[min];
// names[min]=temp2;
// }
// for(int i=n-1;i>=0;i--){
// cout<<names[i]<<" "<<scord[i]<<endl;;
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int M,a[10001],min,max;
// cin>>M;
// for(int i=0;i<M;i++){
// cin>>a[i];
// }
// min=a[0];
// max=a[0];
// for(int i=1;i<M;i++){
// if(min>a[i])min=a[i];
// if(max<a[i])max=a[i];
// }
// cout<<max-min<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double m,n;
// int t=0,a[101][101],b[101][101];
// cin>>m>>n;
// for(int i=0;i<m;i++){
// for(int j=0;j<n;j++){
// cin>>a[i][j];
// }
// }
// for(int i=0;i<m;i++){
// for(int j=0;j<n;j++){
// cin>>b[i][j];
// }
// }
// for(int i=0;i<m;i++){
// for(int j=0;j<n;j++){
// if(a[i][j]==b[i][j])t++;
// }
// }
// cout<<fixed<<setprecision(2)<<t*100/(m*n);
// return 0;
//}
//#include<iostream>
//#include<cstring>
//using namespace std;
//int main(){
// char c[100001];
// cin>>c;
// int t;
// cout<<strlen(c)<<endl;
// for(int i=0;i<strlen(c);i++){
// t=0;
// for(int j=0;j<strlen(c);j++){
// if(c[i]==c[j])t++;
// }
// if(t==1){
// cout<<c[i]<<endl;
// return 0;
// }
// }
// cout<<"no"<<endl;
//
//
// return 0;
//}
//#include<iostream>
//#include<cstring>
//using namespace std;
//int main(){
// char c[100001];
// cin>>c;
// cout<<strlen(c)<<endl;
//
//
// return 0;
//}
//#include<iostream>
//#define MAX 100
//using namespace std;
//int main(){
// int flag,n,i,k,num[MAX],b;
// cin>>n;
// b=n;
// if(n<=0){
// cout<<n<<"is not a positive integer"<<endl;
// return 0;
// }
// if(n==1){
// cout<<"1 cannot becomposed"<<endl;
// return 0;
// }
// for(i=2;i<n;i++){
// if(n%i==0){
// flag=1;
// break;
// }
// }
// if(flag!=1){
// cout<<b<<"is a prime number"<<endl;
// return 0;
// }
// if(flag==1){
// i=2;
// k=0;
// while(n!=1){
// if(0==n%i){
// num[k]=i;
// k++;
// n=n/i;
// }else i++;
// }
// cout<<b<<"=";
// for(i=0;i<k;i++){
// cout<<num[i];
// if(i<k-1){
// cout<<"*";
// }
// }
// }
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int a[10]={1};
// char s[10]="dfdf";
// cout<<a<<endl;
// cout<<s<<endl;
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int n,a,b,A[100],B[100],winA=0,winB=0;
// cin>>n>>a>>b;
// for(int i=1;i<=a;i++)cin>>A[i];
// for(int i=1;i<=b;i++)cin>>B[i];
//
// for(int i=1;i<=n;i++){
// if(A[i%a==0?a:i%a]==0&&B[i%b==0?b:i%b]==2)winA++;
// if(A[i%a==0?a:i%a]==0&&B[i%b==0?b:i%b]==5)winB++;
// if(A[i%a==0?a:i%a]==2&&B[i%b==0?b:i%b]==0)winB++;
// if(A[i%a==0?a:i%a]==2&&B[i%b==0?b:i%b]==5)winA++;
// if(A[i%a==0?a:i%a]==5&&B[i%b==0?b:i%b]==0)winA++;
// if(A[i%a==0?a:i%a]==5&&B[i%b==0?b:i%b]==2)winB++;
// }
// if(winA>winB)cout<<"A";
// else if(winA<winB)cout<<"B";
// else cout<<"draw";
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int n,h[1001],i,j,ans,maxh=1000001;
// cin>>n;
// for(i=1;i<=n;i++)cin>>h[i];
// for(i=1;i<=n;i++){
// ans=0;
// maxh=1000001;
// for(j=1;j<=n;j++){
// if(h[j]>h[i]&&h[j]<maxh){
// ans=j;
// maxh=h[j];
// }
// }
// cout<<ans<<endl;
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int a[2][5]={5,4,3,2,1,5,4,3,2,1};
// sort(a[0],a[0]+3);
// for(int i=0;i<5;i++){
// cout<<a[0][i]<<" ";
// }
// return 0;
//}
//11月15日
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// string s;
// cin>>s;
// int l=s.length(),times=0;
// for(int i=0; i<l-7+1; i++){
// if(s[i]=='L'||s[i]=='l')
// if(s[i+1]=='A'||s[i+1]=='a')
// if(s[i+2]=='N'||s[i+2]=='n')
// if(s[i+3]=='Q'||s[i+3]=='q')
// if(s[i+4]=='I'||s[i+4]=='i')
// if(s[i+5]=='A'||s[i+5]=='a')
// if(s[i+6]=='O'||s[i+6]=='o')
// times++;
// }
// cout<<times;
// return 0;
//}
//Lanqiaoceping,lanqiaoceping,Lanqiaoceping
//11月07日
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double aa,b,c;
// cin>>aa>>b>>c;
// if(aa*aa>b*c){
// cout<<"SQUARE"<<endl;
// }else if(aa*aa<b*c){
// cout<<"RECTANGLE"<<endl;
// }else{
// cout<<"SAME"<<endl;
// }
// return 0;
//}
//10月31日
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// //7.2,4.5,6.3,5.74,25.4
// /*
// double a[20];
// char b;
// int i=0;
// while(1)
// {
// cin>>a[i]>>b;
// i++;
// }
// */
// char buf[333];
// cin.getline(buf,sizeof(buf));//读入一行
// double a[33];
// a[0] = 0;
// int cnt=0;
// double point=0;
// for(int i=0;buf[i]!='0';i++){
// if(buf[i]==','){
// a[++cnt]=0;
// point=0;
// }else if(buf[i]=='.'){
// point=0.1;
// }else if(isdigit(buf[i])){
// if(point != 0){
// a[cnt] += (buf[i]-'0')*point;
// point *= 0.1;
// }else{
// a[cnt] *= 10;
// a[cnt] += buf[i]-'0';
// }
// }
// }
// cnt++;
// sort(a,a+cnt);
// cout<<cnt<<endl;
// cout<<a[0]<<endl;
//
//// for(int i=cnt-1;i>=0;i--){
//// cout<<a[i]<<endl;
////
//// }
// //cout<<a[cnt-1]<<endl;
// cout<<a[cnt-1]<<",";
// for(int i=cnt-2;i>=0;i--){
// cout<<a[i];
// if(i!=0)cout<<",";
// }
// cout<<endl;
// for(int i=0;i<cnt;i++){
// if(a[i]<=26&&a[i]>=1){
// cout<<char(64+a[i]);
// }else if(a[i]==214){
// cout<<"*";
// }
// }
// return 0;
//}
/*
9,12,15,22,5,21,214
*/
//10月23日
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int sums=0,z[4]={2,4,6,8};//sums=4*3*2=24
// for(int a=0; a<4; a++){
// for(int b=0; b<4; b++){
// for(int c=0; c<4; c++){
// if(z[a]!=z[b]&&z[a]!=z[c]&&z[b]!=z[c]){
// cout<<100*z[a]+10*z[b]+z[c]<<endl;
// sums++;
// }
// }
// }
// }
// cout<<sums;
// return 0;
//}
//10月15号
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int h,l,c,r,a[10][10],sums=0;
// cin>>h>>l>>c>>r;
// for(int i=0; i<h; i++){
// for(int j=0; j<l; j++){
// cin>>a[i][j];
// }
// }
// if(c==0){
// if(r==0){
// sums=a[0][1]+a[1][1]+a[1][0];
// }else if(r==l-1){
// sums=a[0][l-2]+a[1][l-2]+a[1][l-1];
// }else{
// sums=a[c][r-1]+a[c][r+1]+a[c+1][r-1]+a[c+1][r]+a[c+1][r+1];
// }
// }else if(c==h-1){
// if(r==0){
// sums=a[h-2][0]+a[h-2][1]+a[h-1][1];
// }else if(r==l-1){
// sums=a[h-2][l-2]+a[h-2][l-1]+a[h-1][l-2];
// }else{
// sums=a[c][r-1]+a[c][r+1]+a[c-1][r-1]+a[c-1][r]+a[c-1][r+1];
// }
// }else if(c!=0 && c!=l-1){
// sums=a[c][r-1]+a[c][r+1]+a[c-1][r-1]+a[c-1][r]+a[c-1][r+1]+a[c+1][r-1]+a[c+1][r]+a[c+1][r+1];
// }
// cout<<sums<<endl;
// return 0;
//}
/*
4 5 2 3
1 2 3 4 5
6 7 8 9 10
3 4 5 7 8
2 5 6 8 0
54
4 5 1 0
1 2 3 4 5
6 7 8 9 10
3 4 5 7 8
2 5 6 8 0
17
*/
//daway编写
//#include<bits/stdc++.h>
//#include<algorithm>
//using namespace std;
//int main(){
// int a[100][100],n,k,x,cnt=0;
// cin>>n>>k;
// for(int i=0; i<n; i++){
// cin>>x;
// for(int j=0; j<n-k+1; j++){
// a[j][i]=x;
// }
// }
// for(int i=0; i<n-k+1; i++){
// sort(a[i]+i,a[i]+i+k);
// //排好序就比较
// bool flag=true;
// for(int j=0; j<i; j++){
// bool same=true;
// for(int z=0; z<n; z++){
// if(a[i][z] != a[j][z]){
// same=false;
// break;
// }
// }
// if(same){
// flag=false;
// break;
// }
// }
// cnt += flag;
// }
// cout<<cnt<<endl;
// return 0;
//}
/*
8 4
1 8 3 9 4 5 3 4
5
5 3
0 2 1 4 3
2
*/
//10月7号
//#include<iostream>
//#include<algorithm>
//using namespace std;
//int main(){
// int n,k,a[100][100],cnt=0;
// cin>>n>>k;
// for(int i=0; i<n;i++){
// int x;
// cin>>x;
// for(int j=0; j<n-k+1; j++){
// a[j][i]=x;
// }
// }
// for(int i=0;i<n-k+1; i++){
// sort(a[i]+i,a[i]+i+k);
// bool flag =true;
// for(int j=0; j<i; j++){
// bool same=true;
// for(int k=0; k<n; k++){
// if(a[i][k] != a[j][k]){
// same =false;
// break;
// }
// }
// if(same){
// flag=false;
// break;
// }
// }
// cnt += flag;
// }
// cout<<cnt<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,t;
// cin>>n;
// for(int i=0;i<n;i++){
// t=i;
// while(t>0){
// if(t%10==3){
// cout<<i<<' ';
// break;
// }
// t=t/10;
// }
// }
// return 0;
//}
//
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,a[101],mun,result;
// cin>>n;
// for(int i=1;i<=n;i++){
// cin>>a[i];
// }
// cin>>mun;
// result=0;//
// for(int i=1;i<=n;i++){
// if(a[i]==mun){
// result=i;
// }
// }
// cout<<result;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,m,a;
// cin>>n>>m>>a;
// cout<<n/a*(m/a)<<endl;
// //cout<<n*m/(a*a)<<endl;
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
//// long long n,sum=1;
//// cin>>n;
//// for(int i=1;i<=n;i++){
//// sum=sum*i;
//// }
//// cout<<sum;
// int n,a=0,x;
// cin>>n;
// for(int i=1;i<=n;i++){
//// if(i%10==1)a++;
//// if(i%100/10==1)a++;
//// if(i%1000/100==1)a++;
//// if(i%1000/1000==1)a++;
//// if(i/10000==1)a++;
// x = i;//123
// while(x>0){
// if(x%10==1)a++;
// x=x/10;
// }
// }
// cout<<a;
// return 0;
//}
////井字棋
//#include<bits/stdc++.h>
//using namespace std;
//int a[3][3]={0},x,y,flag=0,flagwin=0;//单数表示现在是玩家1下,双数则。。。
//bool b[3][3]={0};
//bool isWin(){
// if(a[0][0]+a[0][1]+a[0][2]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[1][0]+a[1][1]+a[1][2]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[2][0]+a[2][1]+a[2][2]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][0]+a[1][0]+a[2][0]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][1]+a[1][1]+a[2][1]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][2]+a[1][2]+a[2][2]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][0]+a[1][1]+a[2][2]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][2]+a[1][1]+a[2][0]==3){
// cout<<"白子赢"<<endl;
// return true;
// }else if(a[0][0]+a[0][1]+a[0][2]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[1][0]+a[1][1]+a[1][2]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[2][0]+a[2][1]+a[2][2]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[0][0]+a[1][0]+a[2][0]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[0][1]+a[1][1]+a[2][1]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[0][2]+a[1][2]+a[2][2]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[0][0]+a[1][1]+a[2][2]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }else if(a[0][2]+a[1][1]+a[2][0]==12){
// cout<<"黑子赢"<<endl;
// return true;
// }
// return false;
//}
//int main(){
//
// for(int i=0;i<3;i++){
// for(int j=0;j<3;j++){
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
// while(1){
// flag++;
// if(flag%2!=0)cout<<"现在是白子下:"<<endl;
// if(flag%2==0)cout<<"现在是黑子下:"<<endl;
// cin>>x>>y;
// if(flag%2!=0&&b[x][y]==0){
// a[x][y]=1;
// b[x][y]=1;
// flagwin++;
// }else if(flag%2==0&&b[x][y]==0){
// a[x][y]=4;
// b[x][y]=1;
// flagwin++;
// }else if(flag%2!=0&&b[x][y]==1){
// cout<<"此地已有棋子"<<endl;
// flag--;
// cout<<"请重新输入:"<<endl;
// }else if(flag%2==0&&b[x][y]==1){
// cout<<"此地已有棋子"<<endl;
// flag--;
// cout<<"请重新输入:"<<endl;
// }
// for(int i=0;i<3;i++){
// for(int j=0;j<3;j++){
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
// if(isWin()==true){
// cout<<"886";
// break;
// }else if(flagwin==9){
// cout<<"平局"<<endl;
// }
// }
//
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int x,y,t;
// char c;
// cin>>x>>y>>c>>t;
// for(int i=1;i<=x;i++){
// for(int j=1;j<=y;j++){
// if(t==1){
// cout<<c;
// }else {
// if(i==1||i==x||j==1||j==y){
// cout<<c;
// }else cout<<" ";
// }
//
// }
// cout<<endl;
// }
// return 0;
//}
//#include<iostream>
//using namespace std;
//int main(){
// int a[10001],n,min,temp;
// cin>>n;
// for(int i = 0; i < n; i++)
// cin>>a[i];
// for(int i = 0; i < n-1; i++)
// {
// min = i;
// for(int j = i+1; j < n; j++){
// if(a[min]>a[j]) min = j;
// }
// temp = a[i];
// a[i] = a[min];
// a[min] = temp;
// }
// for(int i = 0; i < n; i++)
// cout<<a[i]<<" ";
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// long long int a;
// int s[100],num=0;
// cin>>a;
// if(a<0){
// cout<<"-";
// }
// a=abs(a);
// while(a>0){
// s[num]=a%10;
// a=a/10;
// num++;
// }
// int flag=1;//1表示最前面是0
// for(int i=0;i<num;i++){
// if(s[i]==0&&flag==1){
// cout<<"";
// }else {
// flag=0;
// cout<<s[i];
// }
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//void aa(int a[][3]){
// for(int i=0;i<9;i++){
// cout<<a[i/3][i%3]<<" ";
// }
//}
//int main(){
// int b[3][3];
// for(int i=0;i<3;i++){
// for(int j=0;j<3;j++){
// cin>>b[i][j];
// }
// }
// aa(b);
// return 0;
//}
//1-1000中的素数
/*
2 8 3
1 6 4
7 0 5
1 2 3
7 8 4
0 6 5
*/
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int q=1;
// for(int i=2;i<=10000;i++){
// q=1;
// for(int j=2;j<i;j++){
// if(i%j==0){
// q=0;
// break;
// }
// }
// if(q==1){
// cout<<i<<endl;
// }
// }
//
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,temp;
// cin>>n;
// for(int i=2;i<n;i++){
// temp=i;
// while(temp>0){
// if(temp%10==3){
// cout<<i<<" ";
// break;
// }
// temp=temp/10;
// }
// }
// return 0;
//}
//是否三角形三边
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int a,b,c;
// cin>>a>>b>>c;
// if(a+b>c&&a+c>b&&b+c>a){
// cout<<1;
// }else{
// cout<<0;
// }
// return 0;
//}
//鼠是中国传统十二生肖之首
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int month,day;
// cin>>month>>day;
// if(month==1){
// if(day<=24){
// cout<<"Pig";
// }
// }else {
// cout<<"Mouse";
// }
// return 0;
//}
//漫漫长假
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double tall,weight;
// cin>>tall>>weight;
// if(weight>1.1*(tall-100)*9){
// cout<<"fat";
// }else if(weight<0.9*(tall-100)*9){
// cout<<"thin";
// }else{
// cout<<"standard";
// }
// return 0;
//}
//3个字符的判断
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// char a,b,c;
// cin>>a>>b>>c;
// if(a==c&&a!=b){
// cout<<"Yes";
// }else if(a==b&&a!=c){
// cout<<"Yes";
// }else if(b==c&&b!=c){
// cout<<"Yes";
// }else{
// cout<<"No";
// }
// return 0;
//}
//润年数
//#include<iostream>
//using namespace std;
//int main(){
// int startYear,endYear,sums=0;
// cin>>startYear>>endYear;
// for(int i=startYear;i<=endYear;i++){
// if((i%4==0&&i%100!=0)||i%400==0){
// sums++;
// }
// }
// cout<<sums;
// return 0;
//}
//STEMA测评
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int score,n,score2,m=1;
// cin>>score>>n;
// for(int i=1;i<=n;i++){
// cin>>score2;
// if(score2>score){
// m++;
// }
// }
// if(m*100/n<=10){
// cout<<"A"<<endl;
// }else if(m*100/n<=30){
// cout<<"B"<<endl;
// }else if(m*100/n<=60){
// cout<<"C"<<endl;
// }else if(m*100/n<=80){
// cout<<"D"<<endl;
// }else{
// cout<<"E"<<endl;
// }
// return 0;
//}
//咪咪小老鼠
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,t,juli,times=0;
// cin>>n>>t;
// for(int i=1;i<=n;i++){
// cin>>juli;
// if(juli<=t){
// times++;
// }
// }
// cout<<times;
// return 0;
//}
//收集瓶盖赢大奖
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// int n,a,b;
// cin>>n;
// while(n>0){
// cin>>a>>b;
// if(a>=10||b>=20){
// cout<<"True"<<endl;
// }else{
// cout<<"False"<<endl;
// }
// }
// return 0;
//}
//#include<bits/stdc++.h>
//using namespace std;
//stack<int> a;
//int main(){
// for(int i=0;i<1000;i++){
// a.push(i);
// }
// for(int i=0;i<1000;i++){
// cout<<a.top()<<endl;
// a.pop();
// }
//
// cout<<"KKK"<<endl;
// cout<<sizeof(a)/sizeof(int)<<endl;
// return 0;
//}
//利润问题
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// double r,m,y,years=0;
// cin>>r>>m>>y;
// do{
// m=m*(1+r/100);
// years++;
// }while(m<y);
// cout<<years;
// return 0;
//}
//
//#include<bits/stdc++.h>
//using namespace std;
//int main(){
// long long n;
// int a[20],t=1;
// bool flag=true;//标记要不要做去前方的零
// cin>>n;//????
// if(n<0)cout<<"-";
// n=abs(n);
// while(n>0){
// a[t]=n%10;
// n = n/10;
// t++;
// }
// for(int i=1;i<=t-1;i++){
// if(flag==false){
// cout<<a[i];
// }else if(a[i]==0){
// cout<<"";
// }else if(a[i]!=0){
// cout<<a[i];
// flag=false;
// }
// }
//
//}
//硬币翻转问题
//#include<cstdio>
//#include<cmath>
//#include<algorithm>
//using namespace std;
//
//int main() {
// int n;
// scanf("%d", &n);
// printf("%d\n", n);
// for(int i = 1; i <= n; i++) {
// for(int j = 1; j <= i; j++) printf("%d", (i-1)&1);
// for(int j = i + 1; j <= n; j++) printf("%d", i&1);
// printf("\n");
// }
// return 0;
//}
//八数码难题
//#include<bits/stdc++.h>
//using namespace std;
//struct node
//{
// int xy[3][3];
// int dir;
// int step;
//};
//struct node sh[3],p;// sh[0] 为起点 sh[2]为终点 sh[1]为过程的点 p为临时结构体
//long long sum[2];//sum[0]为现在的情况 sum[1]为目标情况
//queue<node> q;//数据类型为node的队列q
//
//void init()
//{
// printf("输入起始节点的位置:\n");
// int i, j;
// for (i = 0; i < 3; i++)
// for (j = 0; j < 3; j++)
// scanf("%d", &sh[0].xy[i][j]);
// sh[0].dir = -1,sh[0].step=0;
// printf("输入目标节点的位置:\n");
// for (i = 0; i < 3; i++)
// for (j = 0; j < 3; j++)
// scanf("%d", &sh[2].xy[i][j]);
// sh[2].dir = -1;
// //将目标node标记
// sum[1] = sh[2].xy[0][0]*100000000 + sh[2].xy[0][1]*10000000 + sh[2].xy[0][2]*1000000 + sh[2].xy[1][0]*100000 + sh[2].xy[1][1]*10000 + sh[2].xy[1][2]*1000 + sh[2].xy[2][0]*100 + sh[2].xy[2][1]*10 + sh[2].xy[2][2];
//}
//
////找出0的位置
//int loction()
//{
// int i;
// for (i = 0; i < 9; i++)
// if (sh[1].xy[i / 3][i % 3] == 0) return i;
//}
//
//int search()
//{
// int i = 0;
// q.push(sh[0]);
// while (!q.empty())
// {
// sh[1]=q.front();
// sum[0] = sh[1].xy[0][0]*100000000 + sh[1].xy[0][1]*10000000 + sh[1].xy[0][2]*1000000 + sh[1].xy[1][0]*100000 + sh[1].xy[1][1]*10000 + sh[1].xy[1][2]*1000 + sh[1].xy[2][0]*100 + sh[1].xy[2][1]*10 + sh[1].xy[2][2];
// if (sum[0] == sum[1])
// {
// //printf("在第%d次找到了\n", i);
// //printf("%d",i);
// //display(i);
// return sh[1].step;
// }
// q.pop();
//
// int temp;
// int loc;
// //int up = 1, down = 1, left = 1, right = 1;
// loc = loction();//找出0的位置
// int stand = sh[1].dir; //上一次的操作的方向
// //dir的0 1 2 3分别代表右 下 左 上 注意这里指的是空格的移动
// if (loc / 3 != 0 && stand != 1)//0 不在第一行 并且 上一次不是向下移 ,就可以上移
// {
// p=sh[1];
// //移动数值,0和上一位换值
// temp = p.xy[loc / 3][loc % 3];
// p.xy[loc / 3][loc % 3] = p.xy[loc / 3 - 1][loc % 3];
// p.xy[loc / 3 - 1][loc % 3] = temp;
// p.dir = 3;
// p.step++;
// q.push(p);
// }
// if (loc / 3 != 2 && stand != 3)//0 不在第三行 并且 上一次不是向上移 ,就可以下移
// {
// p=sh[1];
// temp = p.xy[loc / 3][loc % 3];
// p.xy[loc / 3][loc % 3] = p.xy[loc / 3 + 1][loc % 3];
// p.xy[loc / 3 + 1][loc % 3] = temp;
// p.dir = 1;
// p.step++;
// q.push(p);
// }
// if (loc % 3 != 0 && stand != 0)//0 不在第一列 并且 上一次不是向右移 ,就可以左移
// {
// p=sh[1];
// temp = p.xy[loc / 3][loc % 3];
// p.xy[loc / 3][loc % 3] = p.xy[loc / 3][loc % 3 - 1];
// p.xy[loc / 3][loc % 3 - 1] = temp;
// p.dir = 2;
// p.step++;
// q.push(p);
// }
// if (loc % 3 != 2 && stand != 2)//0 不在第三列 并且 上一次不是向左移 ,就可以右移
// {
// p=sh[1];
// temp = p.xy[loc / 3][loc % 3];
// p.xy[loc / 3][loc % 3] = p.xy[loc / 3][loc % 3 + 1];
// p.xy[loc / 3][loc % 3 + 1] = temp;
// p.dir = 0;
// p.step++;
// q.push(p);
// }
//
//
// }
// cout<<"无解"<<endl;
//}
//
//int main()
//{
// init();//输入初始与目标状态数据
// cout<<search();//广度(宽度)搜索
// return 0;
//}
//测试用例
/*
2 8 3
1 6 4
7 0 5
1 2 3
7 8 4
0 6 5
*/
/*
拐弯问题
*/
//#include<bits/stdc++.h>
//using namespace std;
//const int dx[]={0,1,0,-1};//每一个位置的下一步可以走左右上下四个方向
//const int dy[]={1,0,-1,0};//分别为下、右、上、左
//struct sj{
//int x,y,turn;
//}s,t,p;//s为起点,t为终点,p为s->t的每一步
//queue<sj> q; //数据类型为sj的队列 q
//int n,m,c[101][101];//地型二维数组
//bool v[101][101];//标记是否走过
//int main()
//{
//
// scanf("%d %d",&n,&m);
// for(int i=1;i<=n;i++)
// for(int j=1;j<=m;j++)
// scanf("%d",&c[i][j]);
// scanf("%d%d%d%d",&s.x,&s.y,&t.x,&t.y);
// q.push(s); //将起点s放入空队列中
// memset(v,0,sizeof(v));
// q.front().turn=0;
// while(!q.empty())
// {
// for(int i=0;i<4;i++)
// {
// p.x=q.front().x+dx[i];
// p.y=q.front().y+dy[i];
// while(p.x>0&&p.x<=n&&p.y>0&&p.y<=m&&!c[p.x][p.y])//从一个方向走到底
// {
// if(!v[p.x][p.y]) //判断是不是走过
// {
// if(p.x==t.x&&p.y==t.y) //判断到终点t没
// {
// printf("%d\n",q.front().turn);
// return 0;
// }
// v[p.x][p.y]=1;
// p.turn=q.front().turn+1;
// //cout<<p.x<<' '<<p.y<<endl;
// q.push(p);
// }
// //cout<<p.x<<' '<<p.y<<endl;
// p.x+=dx[i]; //在一个方向直到底
// p.y+=dy[i];
// }
// }
// q.pop();
// }
//}
//水杯问题
//#include<bits/stdc++.h>
//using namespace std;
//bool visit[105][105][105];//用于记录三个杯子的状态 1表示visit[a][b][c]中的a b c状态已经出现过了
//
//struct s{ //倒水状态
// int a,b,c,step;//a,b,c分别代表第一二三杯子所装的水 ; step代表从10 0 0 到现在 a b c所需要的步数 ;
// //s(int a = 0, int b = 0, int c = 0, int step = 0):a(a), b(b), c(c), step(step){} //用devC++这编程软件这个可以不要
// //讲类class的时候才会讲到
//};
//
//int bfs(s V, s E){
// s B;
// B.a = V.a;B.b=0;B.c=0;
// memset(visit, 0, sizeof(visit));
// visit[V.a][0][0] = 1;
// queue<s> q; //队列 q 先进先出 像排队一样 刚生成为空 相当于没有一个人的队伍
// q.push(B); //让B讲队列 相当于让B排在第一位(这时队列或队伍也只有一个人B)
// while(!q.empty()){
// s F = q.front();// 从队列q开头的第一位人的数据赋值给F
// //cout<<F.a <<" "<<F.b<<" "<<F.c<<endl;
// if(F.a == E.a ){ //判断是否满足条件 只要满足就跳出 整个函数
// //cout<<F.a <<" "<<F.b<<" "<<F.c<<endl;
// return F.step;
// }
//
//
// q.pop(); //出队列 ,是从队列头出的 //上面的if语句已经判断了队列头一个人不合适,就让它自动离开队列
// //不过在出队列之后,会让将这进行一次倒水后的状态进队列,注意进队列是从后面进的,相当于排队是从后面排进去的
// if(F.a > 0 && F.b < V.b){ //a->b 从杯a倒水到杯b
// s S;
// int v = min(F.a, V.b - F.b);
// S.a = F.a - v;//
// S.b = F.b + v;
// S.c = F.c;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// q.push(S);
// visit[S.a][S.b][S.c] = 1;
// }
// }
// if(F.a > 0 && F.c < V.c){ //a->c 从杯a倒水到杯c
// s S;
// int v = min(F.a, V.c - F.c);
// S.a = F.a - v;
// S.c = F.c + v;
// S.b = F.b;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// visit[S.a][S.b][S.c] = 1;
// q.push(S);
// }
// }
// if(F.b > 0 && F.c < V.c){ //b->c 从杯b倒水到杯c
// s S;
// int v = min(F.b, V.c - F.c);
// S.b = F.b - v;
// S.c = F.c + v;
// S.a = F.a;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// visit[S.a][S.b][S.c] = 1;
// q.push(S);
// }
// }
// if(F.b > 0 && F.a < V.a){ //b->a 从杯b倒水到杯a
// s S;
// int v = min(F.b, V.a - F.a);
// S.b = F.b - v;
// S.a = F.a + v;
// S.c = F.c;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// visit[S.a][S.b][S.c] = 1;
// q.push(S);
// }
// }
// if(F.c > 0 && F.a < V.a){ //c->a 从杯c倒水到杯a
// s S;
// int v = min(F.c, V.a - F.a);
// S.c = F.c - v;
// S.a = F.a + v;
// S.b = F.b;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// visit[S.a][S.b][S.c] = 1;
// q.push(S);
// }
// }
// if(F.c > 0 && F.b < V.b){ //c->b 从杯c倒水到杯b
// s S;
// int v = min(F.c, V.b - F.b);
// S.c = F.c - v;
// S.b = F.b + v;
// S.a = F.a;
// S.step = F.step + 1;
// if(!visit[S.a][S.b][S.c]){
// visit[S.a][S.b][S.c] = 1;
// q.push(S);
// }
// }
// }
// return -1;
//}
//
//int main(){
// s V;//起初状态 10 0 0
// V.a=10, V.b=3, V.c=7;
// s E;//目标状态
// scanf("%d",&E.a);
// printf("%d\n", bfs(V, E));
// return 0;
//}
////装载问题
//#include <iostream>
//using namespace std;
//int c; //载重量
//int n; //集装箱数量
//int w[100]; //集装箱重量
//int cw; //c当前载重量
//int bestw; //c当前最优载重量
//int r; //剩余集装箱重量
//int x[100]; //当前解
//int bestx[100]; //当前最优解
//
//void Backtrack(int i){
// if(i > n){
// //当前解由于最优解,更新之
// if(cw > bestw){
// for(int j = 1; j <= n; j++)
// bestx[j] = x[j];
// bestw = cw;
// }
// }else{
// //搜索子树,放入或不放入
// r -= w[i]; //剩余容量集合去掉w[i]
// if(cw + w[i] <= c){ //可放入,且放入
// x[i] = 1; //放入
// cw += w[i];
// Backtrack(i+1);
// cw -= w[i];
// }
// if(cw + r > bestw){ //剩余容量集合依然是去掉w[i],因为w[i]不放入
// x[i] = 0;
// Backtrack(i+1);
// }
// r += w[i]; //回溯
// }
//}
//
//int main(){
// cin>>n>>c;
// cw = 0; //每组样例初始化
// r = 0;
// bestw = 0;
// for(int i = 1; i <= n; i++){
// cin >> w[i];
// r += w[i];
// }
// Backtrack(1);
// cout<<bestw;
// return 0;
//}
////拆分自然数
//#include <iostream>
//using namespace std;
//int a[1001]={1},n;
////输出函数
//void print(int t){
// for(int i=1;i<=t-1;i++){
// cout<<a[i]<<"+";
// }
// cout<<a[t]<<endl;
//}
////搜索回溯函数
//void search(int s,int t){
// for(int i=a[t-1];i<=s;i++){
// if(i<n){ //当前数i要大于等于前1位数,且不超过n
// a[t]=i;//保存当前拆分的数i
// s -= i;//s减去数i,s的值将继续拆分
// if(s == 0){//当s=0时,拆分结束输出结果
// print(t);
// }else {
// search(s,t+1);//当s>0时,继续递归
// }
// s += i; //回溯:加上拆分的数,以便产生所有可能的拆分
// }
// }
//}
//int main(){
// cin>>n;
// search(n,1);//将要拆分的数n传递给s
//}
//#include<bits/stdc++.h>
//using namespace std;
//int a[100],n,m;
//void dfs(int dep,int pre,int sum) {
////dep代表深度
////pre代表上一个数
////sum代表累加的值
// if(sum==n) { //如果sum==n,则输出
// for(int i=1; i<=dep-1; i++) {
// cout<<a[i];
// if(i!=dep-1)
// cout<<"+";
// }
// cout<<"\n";
// return ; //注意这里要结束,不然会一直循环下去,直到崩溃
// }
// for(int i=pre; i<=n-1; i++) { //不要从pre+1开始
// if(sum+i<=n) { //如果大于会不符合要求
// a[dep]=i;
// dfs(dep+1,i,sum+i);
// }
// }
//}
//int main() {
// cin>>n; //主函数不用说了
// dfs(1,1,0);
//
// return 0;
//}
//********************************************************************
//#include<bits/stdc++.h>
//using namespace std;
////计算这年已过去的天数(从1月1号开始)
//int dayNumber(int year,int month,int day){
// int days=0;//存放传入的时期已过了多少天
// bool flag=0;//标记是否闰年,0为平年,1为闰年
// //判断参数year是否闰年
// if((year%4==0&&year%100!=0)||year%400==0){
// flag=1;
// }
// // 计算前一月前 从(1月1日)已经过去多少天了
// //后面再加上参数day 就是一共过去多少天
// if(month-1==1){
// days=31;
// }else if(month-1==2){
// days=31+28;
// }else if(month-1==3){
// days=31+28+31;
// }else if(month-1==4){
// days=31+28+31+30;
// }else if(month-1==5){
// days=31+28+31+30+31;
// }else if(month-1==6){
// days=31+28+31+30+31+30;
// }else if(month-1==7){
// days=31+28+31+30+31+30+31;
// }else if(month-1==8){
// days=31+28+31+30+31+30+31+31;
// }else if(month-1==9){
// days=31+28+31+30+31+30+31+31+30;
// }else if(month-1==10){
// days=31+28+31+30+31+30+31+31+30+31;
// }else if(month-1==11){
// days=31+28+31+30+31+30+31+31+30+31+30;
// }
// //前面都按平年来算的,这时再判断这年是不是闰年
// //如果是就要加多一天
// if(flag==1&&month>3){
// days +=1;
// }
// days += day;
// return days;
//}
//int main(){
//
// int startYear,startMonth,startDay;
// int endYear,endMonth,endDay;
// int sumDay=0;//相差天数
// cin>>startYear>>startMonth>>startDay;
// cin>>endYear>>endMonth>>endDay;
// //如果在同一年
// if(startYear==endYear){
// sumDay=dayNumber(endYear,endMonth,endDay)-dayNumber(startYear,startMonth,startDay);
// }else if(startYear+1==endYear){//如果相差只有一年
// //那就先判断startYear是平年还是闰年 用总天数减去已过天数 再加上结束年已过天数
// if((startYear%4==0&&startYear%100!=0)||startYear%400==0){
// sumDay=366-dayNumber(startYear,startMonth,startDay)+dayNumber(endYear,endMonth,endDay);
// }else {
// sumDay=365-dayNumber(startYear,startMonth,startDay)+dayNumber(endYear,endMonth,endDay);
// }
// }else {
// //先求出开始年到结束年之间的天数,比如开始年是2000年,结束年为2008年
// //那就先算出2001、2002、2003、2004、2005、2006这六年的总年数
// for(int i=startYear+1;i<endYear;i++){
// if((i%4==0&&i%100!=0)||i%400==0){
// sumDay += 366;
// }else {
// sumDay += 365;
// }
// }
// //然后就变成,只求相差一年的问题了
// if((startYear%4==0&&startYear%100!=0)||startYear%400==0){
// sumDay=sumDay+366-dayNumber(startYear,startMonth,startDay)+dayNumber(endYear,endMonth,endDay);
// }else {
// sumDay=sumDay+365-dayNumber(startYear,startMonth,startDay)+dayNumber(endYear,endMonth,endDay);
// }
// }
//
// cout<<sumDay;
// return 0;
//}
// int a,b,r;
//
// cin>>a>>b;
// while(b!=a){
// if(a>=b){
// r=a%b;
// a=b;
// b=r;
// }else if(a<b){
// r=b%a;
// a=b;
// b=r;
// }
// cout<<a<<endl;
// }
// cout<<b<<endl;
// char passwd[100];
// int move;
// gets(passwd);
// scanf("%d",&move);
// for(int i=0;i<strlen(passwd);i++){
// if(passwd[i]>='A'&&passwd[i]<='Z'){
// passwd[i]=((passwd[i]-'A')-move+26)%26+'A';
// }else if(passwd[i]>='a'&&passwd[i]<='z'){
// passwd[i]=((passwd[i]-'a')-move+26)%26+'a';
// }
// }
// cout<<passwd<<endl;
// int a,b,c;
// char n,m;
// scanf("%d %c %d %c %d",&a,&n,&b,&m,&c);
// if(n=='+'){
// if(m=='+'){
// printf("在不在%d%c%d%c%d=%d",a,n,b,m,c,a+b+c);
// }else if(m=='-'){
// printf("在不在%d%c%d%c%d=%d",a,n,b,m,c,a+b-c);
// }
// }else if(n=='-'){
// if(m=='+'){
// printf("在不在%d%c%d%c%d=%d",a,n,b,m,c,a-b+c);
// }else if(m=='-'){
// printf("在不在%d%c%d%c%d=%d",a,n,b,m,c,a-b-c);
// }
// }
// int a,b,c;
// char n,m;
// cin>>a>>n>>b>>m>>c;
// if(n=='+'){
// if(m=='+'){
// cout<<a<<n<<b<<m<<c<<"="<<a+b+c;
// }else if(m=='-'){
// cout<<a<<n<<b<<m<<c<<"="<<a+b-c;
// }
// }else if(n=='-'){
// if(m=='+'){
// cout<<a<<n<<b<<m<<c<<"="<<a-b+c;
// }else if(m=='-'){
// cout<<a<<n<<b<<m<<c<<"="<<a-b-c;
// }
// }
// int arr[101];
// int n;
// int b;
// int x;
// cin>>n;
// for(int i=0;i<n;i++){
// cin>>arr[i];
// }
// cin>>x;
// b=arr[n-1];
// //往后移
// for(int i=n-1-1;i>=x-1;i--){
// arr[i+1]=arr[i];
// }
// arr[x-1]=b;
// for(int i=0;i<n;i++){
// cout<<arr[i]<<" ";
// }
//
3391

被折叠的 条评论
为什么被折叠?



