using System;
using System.Linq;
using System.Collections.Generic;
namespace Atcoder20190616
{
class ProgramA
{
static void Main(string args)
{
//数値入力する
string input = Console.ReadLine();
int r = int.Parse(input);
//r*rを出力
Console.WriteLine(r*r);
}
}
class ProgramB
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
int n = int.Parse(input);
string s = Console.ReadLine();
//文字列が奇数ならありえないのでNo
if(s.Length % 2 == 1)
{
Console.WriteLine("No");
return;
}
//偶数であればi文字目と、n/2+i文字目は一致しているので一致しない場合は除く
for(int i = 0;i < n/2;i++)
{
if(s[i] != s[n/2 + i])
Console.WriteLine("No");
}
//それ以外は正しい
Console.WriteLine("Yes");
}
}
class ProgramC
{
static void Main(string args)
{
//入力
string input = Console.ReadLine();
int n = int.Parse(input);
int x = new int[n];
int y = new int[n];
//とりあえずx,yをそれぞれ入力
for(int i = 0;i < n;i++)
{
string input_2 = Console.ReadLine().Split();
x[i] = int.Parse(input_2[0]);
y[i] = int.Parse(input_2[1]);
}
double ans = 0;
//すべての通りの距離を足し合わせる
for(int i = 0;i < n;i++)
for(int j = i + 1;j < n ;j++)
{
ans += Math.Sqrt((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]));
}
//答え出力(すべての距離に2/Nをかけたものが答え
Console.WriteLine(ans * 2.0 /(double)(n));
}
}
class ProgramD
{
static void Main(string args)
{
//入力
string[] input = Console.ReadLine().Split();
long x = long.Parse(input[0]);
long y = long.Parse(input[1]);
long mod = 1000000000 + 7; //割る数
//座標の和が3で割り切れないときはknightは到達しない
if( (x+y) % 3 != 0)
{
Console.WriteLine("0");
return;
}
long m = 0;
long n = 0;
//(2,1)と(1,2)の移動回数をそれぞれm,nとする
m = (2*x-y)/3;
n = (2*y-x)/3;
//それぞれの場合で答えを出す
if(m < 0 || n < 0) //片方が負なら到達しない
{
Console.WriteLine("0");
return;
}
else if(m == 0 || n == 0) //一方が0回なら答えは1通り
{
Console.WriteLine("1");
return;
}
else //それ以外はm+nCnを求める
{
//nが常に小さいようにする
if(m < n)
{
long temp = n;
n = m;
m = temp;
}
long ans = 1;
//分子の方をかける
for(long i = 1;i <= n;i++)
{
ans = (ans * (m + n - i + 1)) % mod;
}
//分母の方を割る
for(long i = 2;i <= n;i++)
{
ans = ans * modinv(i,mod) % mod;
}
//答えを出力
Console.WriteLine(ans);
}
}
// mod. m での a の逆元 a^{-1} を計算する
static long modinv(long a, long m)
{
long b = m, u = 1, v = 0;
while (b > 0)
{
//こちらは普通のユークリッドの互除法
long t = a / b;
a -= t * b;
var temp = a;
a = b;
b = temp;
//こっちは逆算すると解が出る
u -= t * v;
var temp2 = u;
u = v;
v = temp2;
}
u %= m;
if (u < 0)
u += m;
return u;
}
}
}