最大最小公倍数
#include<iostream>
using namespace std;
/*****getlcd()求两个数的最大公约数**********/
long long int getlcd(long long int a, long long int b){
return (a%b==0?b:getlcd(b, a%b));
}
/****getmc()求三个数的最小公倍数*********/
long long int getmc(long long int a, long long int b, long long int c){
long long int t=a*b/getlcd(a, b);
t=t*c/getlcd(t, c);
return t;
}
int main(){
int n;
cin>>n;
long long int a=1, b=2, c=3, ans=6;
for(int i=4; i<=n; i++){ //贪心
long long int e=getmc(a, b, i);
long long int f=getmc(a, c, i);
long long int g=getmc(b, c, i);
if(e>f&&e>g&&e>ans){
c=i; ans=e;
}else if(f>e&&f>g&&f>ans){
b=i; ans=f;
}else if(g>e&&g>f&&g>ans){
a=i; ans=g;
}
}
cout<<ans<<endl;
return 0;
}