﻿/*
    어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다.
    예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.

    600851475143의 소인수 중에서 가장 큰 수를 구하세요.
*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Prob3
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 2;
            bool sw = true;

            long input = 600851475143;

            while (sw)
            {
                while (input % i ==0)
                {
                    input /= i;
                    if (input == 1)
                    {
                        Console.WriteLine(i);
                        sw = false;
                    }
                }
                if (i==2)
                {
                    i += 1;
                }
                else
                {
                    i += 2;
                }
            }
        }
    }
}
