// 문제
// 자연수를 입력받고 해당 숫자까지의 소수들을
// 에라토스테네스의 체를 이용하여 구하는 프로그램을 작성해보세요.
// 배열의 항목번호를 자연수라고 생각하고
// 소수면 O, 소수가 아니라면 X를 배열에 저장하세요.
//(단, 배열은 1부터 시작하며 100을 넘지 않도록 합니다.)
// 입력
// 한 개의 자연수가 주어집니다.
// 출력
// 저장한 배열을 출력합니다.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n;
cin >> n;
int cnt = 0;
int arr[101];
char arr2[101];
arr2[1] = 'X';
for (int i = 2; i <= n; i++)
{
arr2[i] = 'O';
arr[i] = i;
}
for (int i = 2; i <= sqrt(n); i++)
{
if (arr[i] == 0)
continue;
for (int j = 2 * i; j <= n; j += i)
{
arr[j] = 0;
arr2[j] = 'X'
}
}
for (int i = 1; i <= n; i++)
{
cout << arr2[i];
}
return 0;
}