A
# include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int a[110];
LL sum=0;
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<n;i++){
if(a[i-1]==1){
if(a[i]==2){
if((i-2)>=0&&a[i-2]==3){
sum+=2;
}else{
sum+=3;
}
}else if(a[i]==3){
sum+=4;
}
}else if(a[i-1]==2){
if(a[i]==1){
sum+=3;
}else if(a[i]==3){
printf("Infinite");
return 0;
}
}else if(a[i-1]==3){
if(a[i]==1){
sum+=4;
}else if(a[i]==2){
printf("Infinite");
return 0;
}
}
}
printf("Finite\n%lld",sum);
return 0;
}
B
# include <bits/stdc++.h>
using namespace std;
int f[110];
int main()
{
int t;
string s;
string ss="";
scanf("%d",&t);
while(t--){
cin>>s;
ss+=s[0];
f[0]=1;
for(int i=1;i<s.length();i++){
int id=abs(int(s[i]-s[i-1]));
int flag1=0,flag2=0;
if(id!=1&&f[i]==0){
flag1=1;
ss+=s[i];
f[i]=1;
}else{
for(int j=i+1;j<s.length();j++){
int idd=abs(int(s[j]-s[i-1]));
if(idd!=1&&f[j]==0){
flag2=1;
ss+=s[j];
f[j]=1;
break;
}else{
continue;
}
}
if(flag2==0){
printf("No answer\n");
break;
}
}
if(flag1==0){
printf("No answer\n");
break;
}
}
cout<<ss<<endl;
}
return 0;
}