A.

#include <bits/stdc++.h>
using namespace std;
int main () {
long long n;
cin >> n;
if (n & 1)
cout << 1 << endl;
else{
cout << -1 << endl;
}
}
B.

#include <bits/stdc++.h>
using namespace std;
string fk(string s)
{
int start=0,length=0;
for(int i=0,j=0,k=0;i<s.size()&&s.size()-i>length/2;i++,j=i,k=i)
{
while(j>0){if(s[j]==s[j-1]){j--;}else break;}
while(k<s.size()-1){if(s[k]==s[k+1]){k++;i=k-1;}else break;}
while(j>0&&k<s.size()-1){if(s[k+1]==s[j-1]){k++;j--;}else break;}
if(length<k-j+1){length=k-j+1;start=j;}
}
return s.substr(start,length);
}
int main(){
string s;
cin>>s;
int n=s.size();
s+=s;
cout<<min(n,(int)fk(s).size())<<endl;
}
D

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e6 + 10;
int n;
ll a[N], pre[N], sub[N];
int main() {
scanf("%d", &n);
for(int i = 1 ; i <= n ; ++ i) {
scanf("%lld", &a[i]);
pre[i] = pre[i - 1] | a[i];
}
for(int i = n ; i >= 1 ; -- i) {
sub[i] = sub[i + 1] | a[i];
}
ll ans = 0;
for(int i = 1 ; i <= n ; ++ i) {
ans = max(ans, pre[i - 1] | sub[i + 1]);
}
printf("%lld
", ans);
}