n=int(input())
s=input()
c1 = s.count('x')
c2 = s.count('X')
s = s.replace('x', 'X', max(0, (c1-c2)//2))
s = s.replace('X', 'x', max(0, (c2-c1)//2))
print(abs(c2-c1)//2)
print(s)
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
int main()
{
ll _=1;
//cin >> _;
while(_--)
{
ll n,i,cnt=0;
cin >> n;
string s;
cin >> s;
for(i=0; i<n; i++)
{
if(s[i]=='X')
cnt++;
}
cout << abs((n/2)-cnt) << endl;
if(abs((n/2)-cnt)==0)
{
cout << s << endl;
return 0;
}
else
{
ll temp=(n/2)-cnt;
if(temp>0)
{
for(i=0; i<n; i++)
{
if(s[i]=='x' && temp!=0)
{
s[i]='X';
temp--;
}
}
}
else
{
for(i=0; i<n; i++)
{
if(s[i]=='X' && temp!=0)
{
s[i]='x';
temp++;
}
}
}
cout << s << endl;
}
}
return 0;
}
450A - Jzzhu and Children | 546A - Soldier and Bananas |
32B - Borze | 1651B - Prove Him Wrong |
381A - Sereja and Dima | 41A - Translation |
1559A - Mocha and Math | 832A - Sasha and Sticks |
292B - Network Topology | 1339A - Filling Diamonds |
910A - The Way to Home | 617A - Elephant |
48A - Rock-paper-scissors | 294A - Shaass and Oskols |
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |