#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<bitset>
#include<cmath>
#include<ctime>
#include<queue>
#include<map>
#include<set>

#define int long long
#define fi first
#define se second
#define max Max
#define min Min
#define abs Abs
#define lc (x<<1)
#define rc (x<<1|1)
#define mid ((l+r)>>1)
#define lowbit(x) (x&(-x))
#define fan(x) (((x-1)^1)+1)
#define mp(x,y) make_pair(x,y)
#define clr(f,n) memset(f,0,sizeof(int)*(n))
#define cpy(f,g,n) memcpy(f,g,sizeof(int)*(n))

using namespace std;

inline int read()
{
	int ans=0,f=1;
	char c=getchar();
	while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){ans=(ans<<1)+(ans<<3)+c-'0';c=getchar();}
	return ans*f;
}

inline void write(int x)
{
	if(x<0) putchar('-'),x=-x;
	if(x/10) write(x/10);
	putchar((char)(x%10)+'0');
}

template<typename T>inline T Abs(T a){return a>0?a:-a;};
template<typename T,typename TT>inline T Min(T a,TT b){return a>b?b:a;}
template<typename T,typename TT> inline T Max(T a,TT b){return a>b?a:b;}

const int N=3e3+5;
int n,now,a[N];

signed main()
{
	n=read()-3;
	printf("10 15 6 ");
	a[1]=10;a[2]=15;a[3]=6;
	now=3;
	for(int i=7;i<=100000&&n;++i)
	{
		int flag=1;
		for(int j=1;j<=now;++j)
			if(__gcd(a[j],i)==1||a[j]==i)
				flag=0;
		if(flag)
		{
			a[++now]=i;--n;
			printf("%lld ",i);
		}
	}
	printf("\n");
	return 0;
}
#include<bits/stdc++.h>

using namespace std;

inline int read()
{
    register int x=0,f=1,ch=getchar();
    while(!isdigit(ch))
	{
		if(ch=='-') f=-1;
		ch=getchar();
	}
    while(isdigit(ch)) x=x*10 +ch-'0',ch=getchar();
    return x*f;
}

int n,k;

int main()
{
	n=read(),k=read();
	printf("%d\n",(n+1)*n/2*k*100+(k+1)*k/2*n);
	return 0;
}
