You've got a rectangular table with length a and width b and the infinite number of plates of radius r. Two players play the following game: they take turns to put the plates on the table so that the plates don't lie on each other (but they can touch each other), and so that any point on any plate is located within the table's border. During the game one cannot move the plates that already lie on the table. The player who cannot make another move loses. Determine which player wins, the one who moves first or the one who moves second, provided that both players play optimally well.

A single line contains three space-separated integers a, b, r (1 ≤ a, b, r ≤ 100) — the table sides and the plates' radius, correspondingly.

If wins the player who moves first, print "First" (without the quotes). Otherwise print "Second" (without the quotes).

NoteIn the first sample the table has place for only one plate. The first player puts a plate on the table, the second player can't do that and loses.  In the second sample the table is so small that it doesn't have enough place even for one plate. So the first player loses without making a single move.

#include<iostream>
using namespace std;
int main()
{
	int w,l,r;
	cin>>w>>l>>r;
	if(w<2*r||l<2*r)
		cout<<"Second";
	else
		cout<<"First";

}

#include <bits/stdc++.h>
using namespace std;
#define beshoo ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int sum,c,t;
int main()
{
    beshoo
    int a,b,r;
    cin>>a>>b>>r;
    r*=2;
    while(a-r>=0&&b-r>=0){a-=r;b-=r;c++;}
    (!c%2)?cout<<"Second":cout<<"First";
    return 0;
}

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
int a,b,r;
int main()
{
	scanf("%d%d%d",&a,&b,&r);
	if(a>=2*r&&b>=2*r)
	{
		printf("First");
	}
	else
	{
		printf("Second");
	}
	return 0;
}
//dd

#include <iostream>
#include<math.h>
#include <string>
#include <algorithm>
#include <map>
#include <iomanip>
#include <queue>
#include <deque>
#include <vector>
#include <set>
#define bis bitset
#define ml multiset
#define vc vector
typedef unsigned long long ull;
typedef long long ll;
using namespace std;
int main() {
	int a, b, r, ans = 0;
	cin >> a >> b >> r;
	r = 2 * r;
	ans = (a / r) * (b / r);

	if (ans >0)
		cout << "First" << endl;
	else
		cout << "Second" << endl;

}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(c+c<=a && c+c<=b){
        cout<<"First"<<endl;
    }
    else
        cout<<"Second"<<endl;
}

#include<queue>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    r=2*r;
    int x=a/r,y=b/r;
    if(x>=1&&y>=1)
        puts("First");
    else
        puts("Second");
    return 0;
}
/*2018-07-28 19:27:12.77*/

#include <bits/stdc++.h>
#define int long long
const int MOD=1e9+7;
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef vector<pii> vii;
typedef vector<string> vs;
#define mod(n,k) ( ( ((n) % (k)) + (k) ) % (k))
#define forn(i,a,b) for(int i = a; i < b; i++)
#define pb push_back
#define forr(i,a,b) for(int i = a; i >= b; i--)
#define all(x) (x).begin(), (x).end()

void solve() {
    int a,b,r;
    cin >> a >> b >> r;
    int total = (a/r/2)*(b/r/2);
	if (total!=0) cout << "First";
 	else cout << "Second";
    return;
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t = 1;
//  cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

#include <iostream>
using namespace std;
inline int min(int x,int y){ return x>y ? y : x;}
int main(){
int a,b,r;
cin>>a>>b>>r;
if(2*r >  min(a,b))cout<<"Second";
else cout<<"First";
return 0;
}

#include<iostream>
#include<cstdio>
using namespace std;
int main() {
    int a , b , r;
    while(scanf("%d%d%d",&a,&b,&r)!=EOF) {
        if(2*r > a || 2*r > b) printf("Second\n");
        else printf("First\n");
    }
}

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a,b,c;
		cin>>a>>b>>c;
		if(a<c*2||b<c*2)
		cout<<"Second"<<endl;
		else
		cout<<"First"<<endl;
}

#include<stdio.h>
int main()
{
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    {
        r*=2;
        if(r<=a&&r<=b)
            printf("First\n");
        else
            printf("Second\n");
    }
    return 0;
}
//2019-04-25 22:09:26.969

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define ll int
#include<queue>
#include<math.h>

int main()
{
    int a,b,r;
    while(~scanf("%d%d%d",&a,&b,&r))
    {
        if(2*r>a||2*r>b) puts("Second");
        else puts("First");

    }
    return 0;
}
/*2018-07-28 19:33:31.351*/

/**
Calvin's Code
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <sstream>

using namespace std ;

const int maxint = -1u>>2 ;
const double eps = 1e-6 ;

int main()
{
    int a, b, r;
    cin>>a>>b>>r;
    if(a>=2*r && b>=2*r)
        cout<<"First"<<endl;
    else
        cout<<"Second"<<endl;
    return 0;
}

#include <bits/stdc++.h>
using namespace std;
int main(){
	int a,b,r,pd=0;
	scanf("%d %d %d", &a, &b, &r);
	int aux=min(a,b);
	if(r*2<=aux)
		printf("First\n");
	else
		printf("Second\n");
//	system("pause");
	return 0;
}

#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

int main()
{
	int a, b, r;
	cin>>a>>b>>r;
	if (r*2 <= min(a, b))
		cout<<"First\n";
	else
		cout<<"Second\n";
	return 0;
}

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()
{
#ifdef ONPC
    freopen("a.in", "r", stdin);
    //freopen("a.out", "w", stdout);
#else
    //freopen("a.in", "r", stdin);
    //freopen("a.out", "w", stdout);
#endif
    ios::sync_with_stdio(0);
    int a, b, r;
    cin >> a >> b >> r;
    r *= 2;
    cout << (a >= r && b >= r ? "First" : "Second") << '\n';
}

#include<bits/stdc++.h>
#define ll long long
#define endl "\n"
#define pb push_back
using namespace std;
void mego()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

}

int main()
{

mego();
int a,b,r,c1,c2;
cin>>a>>b>>r;
r*=2;
 a=min(a,b);
if(a>=r)
    cout<<"First";
else cout<<"Second";
return 0;

}

#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define qtime   long long q;\
                           cin >> q;\
                           while(q--)
#define fi first
#define se second
#define loop(i,n)  for(long long i=0;i<n;i++)
#define print(x)    for(auto t : x)\
                                cout << t << " " ;
#define printnl(x)    {for(auto t : x)\
                              cout << t << endl;};
#define all(x)  x.begin(), x.end()
#define o(x) cout << x << "\n"
#define i(x) cin >> x;
#define itr(x,a,b)  (x.begin()+a, x.begin()+b);
#define fast     ios_base::sync_with_stdio(false);\
                        cin.tie(NULL);
#define inp(x) long long x;\
                        cin >> x
#define loop1(i,a,b)   for(long long i=a ; i<=b ; i++)
#define itrloop(it,x) for(auto it=x.begin(); it!=x.end(); it++)
#define NUM1 1000003
#define PI 3.1415926536
#define fileIO freopen("input.txt", "r", stdin);\
                       freopen("output.txt", "w", stdout);

typedef long long ll;
typedef vector<long long> vl;
typedef vector<int> vi;
typedef vector <string> vs;
typedef vector <char> vc;
typedef set<long long> sl;
typedef set<int> si;
typedef set <string> ss;
typedef set <char> sc;
typedef set <double> sd;
typedef map<long long, long long> ml;
typedef map<int,int> mi;
typedef map <string, int> ms;
typedef map <char,int> mc;

bool isprime(int n) {
    for(int i=sqrt(n); i>1; i--) {
        if(n%i==0)
            return false;
    }
    return true;
}

bool is_int(long double d) {
    if(d==ceil(d))
        return true;
    return false;
}

long long fact(int x) {
    if(x==0 || x==1)
        return 1;
    else
        return x*fact(x-1);
}

long long ncr(long long n, long long r) {
    return (fact(n)/(fact(r)*fact(n-r)));
}

long long gcd(ll n, ll m) {
    if (n%m ==0) return m;
    if (n < m) swap(n, m);
    while (m > 0) {
        n = n%m;
        swap(n, m);
    }
    return n;
}

bool isPowerOfTwo(int n)
{
    if(n==0)
        return false;
    return (ceil(log2(n)) == floor(log2(n)));
}

int binary_search(int x, int low, int high, int arr[]) {
    if(low==high)
        return low;
    else {
        int mid = (low+high)/2;
        if(arr[mid]==x)
            return mid;
        else if(arr[mid]>x)
            return binary_search(x, low, mid-1, arr);
        else
            return binary_search(x, mid+1, high, arr);
    }
    return -1;
}

void solve(){
   int x,y,r;
   cin >> x >> y >> r;
   if(min(x,y)<(2*r))
       o("Second");
    else
        o("First");
}

int main()
{
//    fileIO;
    fast;
    int q = 1;
//    cin >> q;
    while(q--)
        solve();
}

#include<cstdio>

using namespace std;

const double pi = 3.14159;

int main () {

    int a, b, c;

    scanf ( "%d %d %d" , &a, &b, &c );

    c *= 2;

    if ( a < c || b < c ) printf ( "Second\n" );
    else printf ( "First\n" );

    return 0;

}

#include<algorithm>
#include<iostream>
#include<math.h>
#include<stdio.h>
int n,m,i=0,j,l,max1=-1,min1=99999999,a[10000001];
using namespace std ;
main()
{
 //freopen ("input.txt","r",stdin);
 //freopen ("output.txt","w",stdout);

cin>>n>>m>>l;
l*=2;

  if (l<=min(n,m))printf ("First");
  else printf ("Second");

return 0;
}

#include<bits/stdc++.h>
using namespace std;
    int main()
    {
        int x,y,z,a=0;
        cin>>x>>y>>z;
        if(z*2>min(x,y))
            cout<<"Second\n";
        else
            cout<<"First\n";

        return 0;
    }

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <cstdio>
using namespace std;
int main()
{
    int a, b, r;
    cin >> a >> b >> r;
    int l = 2 * r;
    int counter = 0;
    if (a > b)
        counter = b / l;
    else
        counter = a / l;
    if (counter == 0)
        cout << "Second";
    else
    {
        cout << "First";
    }
}

#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define mod 1000000007
#define F first
#define S second
#define all(v) (v).begin(),v.end()
#define np next_permutation
using namespace std;
using vi=vector<int>;
#define lp(i,n) for(int i=0;i<n;i++)
#define reps(i,j,n) for(int i=j;i<=n;i++)
#define vii vector<vi>
#define vb vector<bool>
#define pr pair<int,int>
#define vl vector<ll>
#define vs vector<string>
#define ump unordered_map<int,int>
#define Mpq priority_queue<int>
#define mpq priority_queue<int,vi,greater<int>>
#define eb emplace_back
#define pr pair<int,int>
#define vp vector<pr>
#define ld long double
const int MaxN=(int)1e9;

int n,x,sum,a,b,ans,r;
string s;
map<int,int> mp;
int fun(ld x){
   if(x<2*r) return 0;
   return 1+2*fun((ld)(x-2*r)/(ld)2);
}
void solve(){
    cin>>a>>b>>r;
    int x=a,y=b;
    if(x<2*r or y<2*r){
       cout<<"Second"<<"\n";
       return;
    }
    int p=fun(x),q=fun(y),z=p*q;
    if(z&1) cout<<"First"<<"\n";
    else cout<<"Second"<<"\n";
}
int main(int argc,char *argv[]){
   ios_base::sync_with_stdio(0);
   cin.tie(nullptr);

   solve();
   return 0;
}

#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<cmath>
#include <algorithm>
#include<set>
#include<queue>
#include <typeinfo>
#include <deque>
#include <stack>
#include <iomanip>
#include <cstdio>
#include<string.h>
#include <iostream>
#include <fstream>
/*
*
*AF IIIIIII FY
*
*/
using namespace std;
#define ll long long
#define min3(a,b,c) min(a,min(b,c))
#define max3(a,b,c) max(a,max(b,c))
//int maxel(vector<ll> v,ll x){int l=-11111111; for(int i=0;i<=x;i++){if(v[i]>l){l=v[i];}}return l;}
//int minel(vector<ll> v,ll x){int l=11111111; for(int i=0;i<=x;i++){if(v[i]<l){l=v[i];}}return l;}
//int power(int x,int y){int sum=1; for (int i = 1; i <= y; i++){sum=sum*x;}return sum;}
//file
//ifstream ifs("input.txt");
//ofstream ofs("output.txt");
//ifs>>a>>s;
//ofs<<i+a/2+1<<" "<<i+1<<endl;
int main()
{
	int a,b,r;cin>>a>>b>>r; r=r*2;
	if(a>=r&&b>=r){cout<<"First"<<endl;}
	else cout<<"Second"<<endl;

    return 0;
}

#include <bits/stdc++.h>
#include <fstream>

#define ll          long long int
#define fr(X,Y) for (int (X) = 0;(X) < (Y);++(X))
#define all(a)      (a).begin(),(a).end()
#define rall(a)     (a).rbegin(),(a).rend()
#define pb          push_back
#define mp          make_pair
#define vi          vector<int>
#define pii         pair<int,int>
#define vpi         vector<pii>

using namespace std;

ll gcd(ll a, ll b) {  if (b == 0)  return a; return gcd(b , a % b); }

bool IsPowerOfTwo(int x)
{
    return (x != 0) && ((x & (x - 1)) == 0);
}

//( a + b) % c = ( ( a % c ) + ( b % c ) ) % c

/*int bs(int val,int a[])
{
 int r=n;

 int l=1;

 while(l<=r)
 {
     int mid=(l+r)/2;
     if(a[mid]>val)r=mid-1;
     else if(a[mid]<val) l=mid+1;
     else{l=mid;break;}

 }
 return l;

}*/

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif

    int a, b, r;
    cin >> a >> b >> r;
    if (2 * r > a || 2 * r > b)cout << "Second";
    else
    cout<<"First";
    return 0;
}

#include <stdio.h>

int main () {
	int a, b, r;
	scanf ("%d %d %d", &a, &b, &r);
	if (a >= 2 * r && b >= 2 * r) {
		printf ("First\n");
	} else printf ("Second\n");
}

#include<bits/stdc++.h>
using namespace std;

int main()
{
	long long int i,j,k,l,z,step=0,n,m,ass,t,w,r,x,y,c=0,f=0;

	cin>>i>>j>>k;
	k=2*k;
	x=i/k;
	y=j/k;
	t=x*y;

	if(t==0)
		cout<<"Second";
else
	cout<<"First";

}

#include<bits/stdc++.h>
using namespace std;
int main()
    {
    int t,a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    r<<=1;
    if(r<=min(a,b))
      printf("First");
      else printf("Second");
    return 0;
    }

#include <cstdio>
#include <iostream>

using namespace std;

int n,m,r,s;
bool ans = 0,k;

int main()
{
	scanf ("%d%d%d",&n,&m,&r);

	int diam = r * 2;

	if (diam > min (n,m))
		cout << "Second";
	else
		cout << "First";
}

#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    if((z*2)<=x&&(z*2)<=y)
        printf("First\n");
    else
        printf("Second\n");
    return 0;
}

#include <iostream>
#include<cstring>
using namespace std;
int main()
{
    int a,b,r;
    cin>>a>>b>>r;
if(2*r>min(a,b)) cout<<"Second";
else cout<<"First";
}

//	#include "stdafx.h"
	#include <iostream>
	#include <conio.h>
	#pragma comment (linker, "/STACK:16777216")
	#include <vector>
	#include <math.h>
	#include <algorithm>
	#include <string>
	#include <queue>
	#include <stack>
	#include <set>
	using namespace std;

void main()
{
	int a, b, r;
	cin>>a>>b>>r;
	if (2*r<=min(a,b))
		cout<<"First";
	else
		cout<<"Second";
//	getch();
}

#include<string>
#include<queue>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<iostream>
using namespace std;
int main()
{
    int a,b,r;
    while(~scanf("%d%d%d",&a,&b,&r))
    {
        if(r*2>a||r*2>b)
            puts("Second");
        else
            puts("First");
    }
    return 0;
}
/*2018-07-28 19:29:46.692*/

#include<bits/stdc++.h>
using namespace std;
#define __ ios_base::sync_with_stdio(0); cin.tie(0);
#define endl '\n'
#define foreach(it, x) for (__typeof (x).begin() it = (x).begin(); it != (x).end(); ++it)
#define all(x) x.begin(),x.end()
#define D(x) cout << #x " = " << (x) << endl;

template <class T> string toStr(const T &x)
{ stringstream s; s << x; return s.str(); }

template <class T> int toInt(const T &x)
{ stringstream s; s << x; int r; s >> r; return r; }

int dx[8] = {-1,-1,-1,0,1,1, 1, 0};
int dy[8] = {-1, 0, 1,1,1,0,-1,-1};

int main() {
  int a,b,r;
  cin >> a >> b >> r;

  int cnt = a / (2 * r);
  cnt *= b / (2 * r);

  cout << (cnt ? "First" : "Second");

  return 0;
}

#include <iostream>
#include <cmath>
using namespace std;

int a, b, r, x, nrfarf;

int main()
{
    int i;
    cin >> a >> b >> r;
    if(2 * r <= a && 2 * r <= b)
        cout << "First";
    else cout << "Second";
    return 0;
}

#include <bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL);
#define endl '\n'
#define fr(i,a,b) for(ll i=a; i<b; i++)
#define fr1(i,a,b) for(ll i=a; i>=b; i--)
#define ll long long int
#define ld long double
#define vi vector<ll>
#define pb push_back
#define mp(i,j) make_pair(i,j)
#define fi first
#define se second
#define input(a,n) fr(i,0,n)cin>>a[i]
#define output(a,n) fr(i,0,n)cout<<a[i]<<" "
#define dbg cout<<"hurr"<<endl;
#define dbg2 cout<<"hurr2"<<endl;
#define md 1000000007
#define sp << " " <<
#define pi 3.14159265358979323846
#define fixd(x) cout << fixed << setprecision(x);

int main()
{
    fast;
    ll a,b,r;
    cin >> a >> b >> r;
    r*=2;
    if(a>b)
        a=b;
    if(a>=r)
        cout << "First";
    else
        cout << "Second";
}

#include <cstdio>
#include <algorithm>

int main() {
  int a, b, r; std::scanf("%d%d%d", &a, &b, &r);
  std::printf("%s\n", r * 2 <= std::min(a, b) ? "First" : "Second");
  return 0;
}

#include<bits/stdc++.h>
#define ll long long
#define endl "\n"
#define pb push_back
using namespace std;
void mego()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

}

int main()
{

mego();
int a,b,r,c1,c2;
cin>>a>>b>>r;
r*=2;
 a=min(a,b);
if(a>=r)
    cout<<"First";
else cout<<"Second";
return 0;

}

#include <algorithm>
#include <iostream>
using namespace std;

namespace solve {
    int a, b, r;
    void main() {
        cin >> a >> b >> r;
        if (min(a, b) >= 2 * r) {
            cout << "First\n";
        } else {
            cout << "Second\n";
        }
    }
}

int main() {
    solve::main();
}

#include <iostream>
using namespace std;
int main(){
int a,b,r;
cin >> a >> b >>r;
if (a>=2*r&&b>=2*r) cout << "First";
else cout << "Second";

}

#include<iostream>
using namespace std;
int main()
{
    int a,b,r;
    cin>>a>>b>>r;
    if(2*r>(a>b?b:a))
        cout<<"Second"<<endl;
    else
    cout<<"First"<<endl;
}//2019-11-14 08:48:04.973

/**
Calvin's Code
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <sstream>

using namespace std ;

const int maxint = -1u>>2 ;
const double eps = 1e-6 ;

const int REP = 10000000;

int main()
{
    int a, b, r;

    cin>>a>>b>>r;

    int test = 0;
    for(int i = 0; i < REP; ++i)
        test += i % (i - 5);

    if(a>=2*r && b>=2*r)
        cout<<"First"<<endl;
    else
        cout<<"Second"<<endl;
    return 0;
}

#include<bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int a,b,c;
    cin>>a>>b>>c;

    if(c*2<=a && c*2<=b)
        cout<<"First";
    else
        cout<<"Second";

    return 0;
}

/*===============*\
| *** *** *** *** |
|  *  **  *   * * |
| *** *** *   *** |
|    ID: ZERO     |
|    LANG: C++    |
\*===============*/
#include <vector>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <sstream>
#include <iostream>
#include <cstdio>
#include <queue>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <string>
#include <cassert>
using namespace std;
#define MAXN 100001
#define eps 0.000000001
#define mod 1000000007
#define ll __int64
const double pi = acos(-1.0);
int min(int x,int y){return x<y?x:y;}
int max(int x,int y){return x>y?x:y;}
void swap(int &x,int &y){int t;t=x,x=y,y=t;}
int gcd(int x,int y){
	int t;
	if(x<y) t=x,x=y,y=t;
	while(y){
		t=x%y;
		x=y;
		y=t;
	}
	return x;
}
int main(){
	int a,b,r;
	while(~scanf("%d%d%d",&a,&b,&r)){
		int n=r*2;
		int t=r*(2+2.2828427);
		if(a<n||b<n) {printf("Second\n");continue;}
		if((a<t||b<t)){printf("First\n");continue;}
		printf("First\n");
	}
    return 0;
}

#include <iostream>
#include <bits/stdc++.h>
#include <vector>
#define rep(i,n) for(i=0;i<n;i++)
#define pb push_back
#define mp make_pair
#define ll long long
#define endl "\n"
using namespace std;
int main()
{
   int a,b,r;
   cin>>a>>b>>r;
   if(a>=2*r && b>=2*r) cout<< "First";
   else cout<< "Second";
}

#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<algorithm>
#include<stack>
using namespace std;
int main()
{
    int a,b,r,d,temp1,temp2,ans;
    scanf("%d %d %d",&a,&b,&r);
    if(a<2*r||b<2*r)
        puts("Second");
    else
    {
            puts("First");
    }
}
/*2018-07-28 19:52:43.208*/

#include <bits/stdc++.h>

//#pragma GCC optimize("Ofast")
//1.0 * clock() / CLOCKS_PER_SEC

#define fi first
#define se second
#define int long long int
#define dl double long

using namespace std;

const int N = 1e5 + 7;
const int mod = 998244353;

//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

void solve1()
{
    int a, b, c;
    cin >> a >> b >> c;
    if(a < c * 2 || b < c * 2){
        cout << "Second";
    }else{
        cout << "First";
    }
}

int32_t main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0); srand(time(0));
    //freopen( "input.txt" , "r" , stdin );
    //freopen( "output.txt" , "w" , stdout );
    //freopen( "outofplace.in" , "r" , stdin );
    //freopen( "outofplace.out" , "w" , stdout );

    int cghf = 1;//cin >> cghf;
    while( cghf-- ){
        solve1();
    }
}

#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <numeric>
#include <iomanip>
#include <climits>
#include <vector>
#include <functional>
#include <cstring>
#include <list>

using namespace std;

typedef long long Int;
typedef long double UInt;
typedef double Double;

#define DEBUG_PRINT( t ) { clog << (t) << endl; }
#define DEBUG_VALUE( v ) { clog << #v << ":\t" << (v) << endl; }
#define DEBUG_VECTOR( v ) { clog << "[ "; for( auto i : v ) { clog << i << ' '; } clog << "]" << endl; }

int main() {
    Int a, b, r;

    cin >> a >> b >> r;

    if( min(a,b) >= 2*r ) {
        cout << "First" << endl;
    }
    else {
        cout << "Second" << endl;
    }

    return 0;
}

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <queue>
#include <iomanip>
#include <cstdio>
#include <limits>
#include <cmath>
#include <cstdlib>
#include <string.h>
#include <ctime>
#include <assert.h>

using namespace std;

#define VI vector<int>
#define VVI vector<VI >
#define VB vector<bool>
#define VVB vector<VB >
#define VS vector<string>
#define PII pair<int, int>
#define VPII vector<pair<int, int> >
#define REP(var, startFrom, endTo) for(int var = startFrom; var < (int)endTo; ++var)

template <typename T>
inline const T MAX(T a, T b) { return ((a) > (b) ? (a) : (b)); }
template <typename T>
inline const T MIN(T a, T b) { return ((a) > (b) ? (b) : (a)); }
template <typename T>
inline const T ABS(T a) { return (((a) > 0) ? (a) : (-(a))); }

#define PI 3.14159265359

int a, b, r;
string solve()
{
	int diameter = r * 2;
	if (diameter > MIN(a, b))
		return "Second";
	return "First";
}

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
#ifndef ONLINE_JUDGE
	freopen("tmp.in", "r", stdin);
//	freopen("tmp.out", "w", stderr);
#endif
	cin >> a >> b >> r;

	cout << solve() << endl;

	return 0;
}

#include<iostream>
using namespace std;
int main()
{
	int w,l,r;
	cin>>w>>l>>r;
	if(w<2*r||l<2*r)
		cout<<"Second";
	else
		cout<<"First";

}

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int a,b,r;
    cin>>a>>b>>r;
    cout<<(2*r>min(a,b)?"Second":"First");
    return 0;
}

#include <iostream>

using namespace std;

int main(){
    int a , b , r;
    cin >> a >> b >> r;
    if(a >= 2 * r && b >= 2 * r)
        cout << "First" << endl;
    else
        cout << "Second" << endl;
    return 0;
}

#include<cstdio>
using namespace std;
int a,b,r;
int main()
{
  scanf("%d%d%d",&a,&b,&r);
  if(a<r*2||b<r*2)  printf("Second");
  else  printf("First");
  return 0;
}

#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <algorithm>
#include <string>
#include <iostream>
#include <memory.h>
#pragma comment(linker,"/STACK:16777216")

using namespace std;

#define pb push_back
#define mp make_pair
#define fs first
#define sc second
#define N 100000
const int oo = int(1e9);
const double pi = acos(-1.0);
const double eps = 1e-7;

typedef __int64 int64;

int main()
{
    //freopen("input.txt","r",stdin); freopen("output.txt","w",stdout);
    int a,b,r,d,k,ok=1;
    scanf("%d%d%d",&a,&b,&r);
    if(a<2*r || b<2*r)  puts("Second");else
        puts("First");
    return 0;
}

#include<stdio.h>
int main()
{
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    {
        r*=2;
        if(r<=a&&r<=b)
            printf("First\n");
        else
            printf("Second\n");
    }
    return 0;
}
//2019-04-25 22:09:26.969

#include <iostream>
#include <bits/stdc++.h>
#include <iomanip>
#include<math.h>
int max(long long int array[],long long int n );
using namespace std;
int  main(){
  ios_base::sync_with_stdio(0);
  	cin.tie(0);
  	cout.tie(0);
int a,b,r,count;
cin>>a>>b>>r;
double d=sqrt(a*a+b*b)/2-r;
if(2*r>min(a,b))
  cout<<"Second"<<endl;
else{
  count=d/(sqrt(8)*r)+1;
//cout<<count<<endl;
count=2*count-1;
count=2*count-1;
//cout<<count<<endl;
  if(count%2==0)
    cout<<"Second"<<endl;
  else
    cout<<"First"<<endl;
}
}

#include <iostream>
#include <algorithm>
#include <cmath>
#include <set>
#include <string>
#include <bitset>
#include <map>
#include <vector>
#include <queue>
#include <stdio.h>
#include <stdlib.h>
#include <utility>
#include <stack>
#include <list>
#include <deque>
#define ll long long
using namespace std;

int main()
{
	int a, b, r;

	cin >> a >> b >> r;
	if (a < 2 * r || b < 2 * r)cout << "Second"; else cout << "First" << endl;
	//system("pause");
	return 0;

}

/*
CODER: Jainor Cardenas
LANG: C++
*/
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>

#define LL long long
#define all(v) (v).begin(),(v).end()
#define rall(v) (v).rbegin(),(v).rend()
#define sz size()
#define pb push_back
#define mp make_pair
#define mem(x,i) memset(x,i,sizeof(x))
#define cpresent(V,e) (find(all(V),(e))!=(V).end())
#define foreach(c,it) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();++it)
#define FOR(i,a,n) for(int (i)=(int)(a);i<(int)(n);++(i))
#define FORR(i,a,n) for(int (i)=(int)(a);i>(int)(n);--(i))

using namespace std;

long long toi(string s){istringstream is(s);long long x;is>>x;return x;}
string tos(long long t){stringstream st; st<<t;return st.str();}
long long gcd(long long a, long long b){return __gcd(a,b);}
long long lcm(long long a,long long b){return a*(b/gcd(a,b));}
long long bits(long long a){return a?1+bits(a&(a-1)):0;};
long long pot(long long a,long long b){if(!b)return 1;if(b&1)return a*pot(a*a,b>>1); else return pot(a*a,b>>1);}

/*
bool done[3][10005];
bool dp[3][10005];

bool go( int player , int mov ){
  if( done[player][mov] ) return dp[player][mov];
  done[player][mov] = true;
  if( mov == 0 ) return dp[player][mov] = 1 - player;
  if( mov >= 1 &&  go( 1 - player , mov - 1 ) == player ) return dp[player][mov] = player;
  if( mov >= 2 &&  go( 1 - player , mov - 2 ) == player ) return dp[player][mov] = player;
  if( mov >= 3 &&  go( 1 - player , mov - 3 ) == player ) return dp[player][mov] = player;
  return dp[player][mov] = 1 - player;
}
*/

int main(){
 //freopen(".in","r",stdin);
 //freopen(".out","w",stdout);
 int a ,  b , r;
  cin >> a >> b >> r ;
     r*= 2;
     int mov = ( a / r ) * ( b / r );
     if( mov > 0  )
       cout <<"First"<<endl;
     else
       cout <<"Second"<<endl;

 return 0;
}

#include <iostream>
const float _pi = 3.141;
using namespace std;
float areaofcircle;
float diameter;

int main()
{
    float height,lenght,R;
    cin >> height >> lenght >> R;
    diameter = 2*R;
    areaofcircle = _pi*R*R;
        if(areaofcircle > height*lenght) {
            cout << "Second" << endl;
        }else if(height < diameter || lenght < diameter) {
            cout << "Second" << endl;
        }
        else
            cout << "First" << endl;

    return 0;
}

#include <bits/stdc++.h>
using namespace std;
const int MAX = 4000;
typedef pair <int,int> ii;
typedef vector <ii> vii;
#define pb       push_back
#define ff       first
#define ss       second
#define mp       make_pair
int main () {
    int n, m, k;
    cin >> n >> m >> k;
    k*=2;
    if ( k > min (n, m) )cout << "Second";
    else cout << "First";
}

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
	int a, b, r;
	cin >> a >> b >> r;

	if (a >= 2*r && b >= 2*r) {
		cout << "First" << endl;
	} else {
		cout << "Second" << endl;
	}
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,r,c=0;
    cin>>a>>b>>r;
    if(a>=2*r&&b>=2*r){
    cout<<"First";
    }
    else
    cout<<"Second";
    return 0;
}

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
     int a, b, r;

     scanf("%d %d %d", &a, &b, &r);

     if( a < 2*r || b < 2*r )    printf("Second");
     else printf("First");

     return 0;
}

#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    if((z*2)<=x&&(z*2)<=y)
        printf("First\n");
    else
        printf("Second\n");
    return 0;
}

#include <iostream>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(0);
    int a, b, r;
    cin >> a >> b >> r;
    if(min(a, b) < 2*r)cout << "Second";
    else cout << "First";
    return 0;
}

#include <iostream>

using namespace std;

int main()
{
    int a, b, r, t, t1;
    cin >> a >> b >> r;
    if(r + r > a )
    {
        cout << "Second";
        return 0;
    }
    if(r + r > b){
        cout << "Second";
        return 0;
        }
    cout << "First";
}

#include<bits/stdc++.h>
using namespace std;
const int maxn=3e5+7;
typedef long long ll;
const int mod=1e9+7;
ll read(){ll c = getchar(),Nig = 1,x = 0;while(!isdigit(c))c = getchar();if(c == '-')Nig = -1,c = getchar();while(isdigit(c))x = ((x<<1) + (x<<3)) + (c^'0'),c = getchar();return Nig*x;}
#define read read()

int main(){
	int a,b,r;
	cin>>a>>b>>r;
	if(a>=2*r&&b>=2*r)cout<<"First\n";
	else cout<<"Second\n";
	return 0;
}

#include <stdio.h>

int main () {
	int a, b, r;
	scanf ("%d %d %d", &a, &b, &r);
	if (a >= 2 * r && b >= 2 * r) {
		printf ("First\n");
	} else printf ("Second\n");
}

#include<bits/stdc++.h>

using namespace std;

int main()
{

    int x,y,n,z,r;
    cin>>x>>y>>n;
    r=(2*n);
    while(true)
    {

 if(min(x,y)<r)
 {
    cout<<"Second";
     break;
 }
 else
 {
    cout<<"First";
break;
 }
x-=r;
y-=r;
    }
    return 0;
}

#include<bits/stdc++.h>
using namespace std;

int r,a,b;

int main(){
	scanf("%d%d%d",&a,&b,&r);
	if(2*r<=a&&2*r<=b)cout<<"First"<<endl,exit(0);
	else cout<<"Second"<<endl,exit(0);
}

#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;
#define int         long long
#define mod         1000000007
#define FAST        ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define f(i,n)      for(int i=0;i<n;i++)
#define fp(i,k,n)   for(int i=k;i<=n;i++)
#define fr(i,k,n)   for(int i=k;i>=n;i--)
#define pb          push_back
#define pii         pair<int,int>
#define vi          vector<int>
#define vii         vector<pii>
#define dbg(x)      cout << (#x) << " is " << (x) << '\n'
#define F           first
#define S           second
#define sz(x)       (int)(x).size()
#define lb          lower_bound
#define ub          upper_bound
#define mems(x)     memset(x,0,sizeof(x))
#define all(a)      a.begin(),a.end()
typedef tree<int,null_type,less_equal<int>,rb_tree_tag,tree_order_statistics_node_update>ordered_set;

/*---------------------------------------------------------------------------------------------------*/

void solve()
{
  int a,b,r;
  cin >> a >> b >> r;
  if(a<b)
    swap(a,b);
  int x=a/2;
  int cnt=0;
  if(2*r>b)
  {
    cout << "Second\n";return;
  }
  while(x>0)
  {
    if(cnt==0)
     x-=r;
    else
      x-=(2*r);
    if(x>=0)
     cnt++;
  }
  cnt+=(cnt-1);
  if(cnt&1)
    cout << "First\n";
  else
    cout << "Second\n";
  return;
}

signed main()
{
  // freopen("input.txt","r",stdin);
  // freopen("output.txt","w",stdout);
  FAST
  int T=1;
  // cin >> T;
  while(T--)
  {
    solve();
  }
  return 0;
}

#include<stdio.h>
int main()
{
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    if(a>=2*r&&b>=2*r)///肯定放中间，由于对称性，周围的原盘必是偶数
        printf("First\n");
    else
        printf("Second\n");
}
//2019-04-25 21:34:50.266

#include<iostream>
using namespace std;
int main()
{
    int a, b, r; cin >> a >> b >> r;
    if (a<r * 2 || b<r * 2) puts("Second");
    else
        puts("First");
    return 0;
}

/**
Calvin's Code
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <sstream>

using namespace std ;

const int maxint = -1u>>2 ;
const double eps = 1e-6 ;

const int REP = 1000000;

int main()
{
    int a, b, r;

    cin>>a>>b>>r;

    for(int i = 0; i < REP; ++i);

    if(a>=2*r && b>=2*r)
        cout<<"First"<<endl;
    else
        cout<<"Second"<<endl;
    return 0;
}

#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define int  long long
#define ll  long long
int mod=1000000000+7;
ll powe(ll x, ll y){ x = x%mod, y=y%(mod-1);ll ans = 1;while(y>0){if (y&1){ans = (1ll * x * ans)%mod;}y>>=1;x = (1ll * x * x)%mod;}return ans;}
void fun()
{
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	#endif
}
bool isPrime(int n)
{
	for(int i=2;i*i<=n;i++)
		if(n%i==0) return false;
	return true;
}
signed main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	//rko;
	fun();
	int tt=1; //cin>>tt;
	while(tt--)
	{
		int a,b,r; cin>>a>>b>>r;
		if(a<b) swap(a,b);
		if(b<2*r) return cout<<"Second\n",0;
		cout<<"First\n";
	}
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstring>
#include <string>
#include <string.h>
#include <cmath>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <set>
#include <vector>
#include <map>
#include <iomanip>
#include <stdlib.h>
#include <queue>
#include <list>
#include <stack>
#include <bitset>
#include <fstream>
#include <sstream>
#include <assert.h>
#define eps 1e-10
#define SIZE 3010
#define rep(i, a, b) for (int i = a; i <= b; ++i)
#define pi acos(-1.0)
#define ll long long
using namespace std;
const int bignumlen = 20200; //高精度的位数
const int Blen = 8; //压几位
const ll base = 100000000; //对应的基数

struct bignum {
	int len;
	ll data[bignumlen];
	ll& operator [](int x) { return(data[x]); }
	const ll& operator [](int x)const { return(data[x]); }
	bignum() {
		memset(data, 0, sizeof(data));
		len = 0;
	}
	void clear() {
		for (int i = len; i >= 1; --i)data[i] = 0;
		len = 0;
	}
	int check(const bignum & a, const bignum & b) {
		if (a.len > b.len)return(0);
		if (b.len > a.len)return(1);
		for (int i = a.len; i >= 1; --i) {
			if (a.data[i] < b.data[i])return(1);
			if (b.data[i] < a.data[i])return(0);
		}
		return 2;
	}
	bool operator < (const bignum & b) { return(check(*this, b) == 1); }
	bool operator > (const bignum & b) { return(check(*this, b) == 0); }
	bool operator <=(const bignum & b) { return(check(*this, b) >= 1); }
	bool operator >=(const bignum & b) { return(check(*this, b) % 2 == 0); }
	bool operator !=(const bignum & b) { return(check(*this, b) != 2); }
	bool operator ==(const bignum & b) { return(check(*this, b) == 2); }

	bignum operator=(const bignum & x) {
		for (int i = x.len + 1; i <= len; ++i)data[i] = 0;
		for (int i = 1; i <= x.len; ++i)data[i] = x.data[i];
		len = x.len;
		return *this;
	}
	bignum operator=(ll x) {
		for (int i = len; i >= 0; --i)data[i] = 0;
		len = 0;
		while (x) {
			data[++len] = x % base;
			x /= base;
		}
		return *this;
	}
	bignum(ll x) {
		memset(data, 0, sizeof(data));
		len = 0;
		(*this) = x;
	}
	bignum operator *(const bignum & b) {
		int i, j;
		bignum tmp;
		for (i = 1; i <= len; ++i)if (data[i] != 0)
			for (j = 1; j <= b.len; ++j)if (b.data[j] != 0) {
				tmp.data[i + j - 1] += data[i] * b.data[j];
				tmp.data[i + j] += tmp.data[i + j - 1] / base;
				tmp.data[i + j - 1] %= base;
			}
		tmp.len = len + b.len - 1;
		while (tmp.data[tmp.len + 1])tmp.len++;
		return tmp;
	}
	bignum operator *(ll x) {
		int i;
		bignum tmp;
		for (i = 1; i <= len; ++i)tmp[i] = data[i] * x;
		tmp.len = len;
		for (i = 1; i <= len; ++i) {
			tmp[i + 1] += tmp[i] / base, tmp[i] %= base;
			if (tmp[i + 1] && i + 1 > tmp.len)tmp.len++;
		}
		return tmp;
	}
	bignum operator /(ll x) {
		int i;
		bignum tmp;
		ll y = 0;
		for (i = len; i >= 1; --i) {
			y = y * base + data[i];
			tmp[i] = y / x;
			y %= x;
		}
		tmp.len = len;
		while (tmp[tmp.len] == 0 && tmp.len > 1)tmp.len--;
		return tmp;
	}
	bignum operator /(const bignum & b) {
		if (b.len <= 1 && b[1] == 0) {
			printf("error! 被0除!");
			for (;;);
		}
		int i, l1 = (len - 1) * Blen, l2 = (b.len - 1) * Blen;
		ll x = data[len], y = b[b.len];
		while (x)x /= 10, l1++;
		while (y)y /= 10, l2++;
		bignum tmp, chu, B;
		chu = *this; B = b;

		for (i = 1; i * Blen <= l1 - l2; ++i)B *= base;
		for (i = 1; i <= (l1 - l2) % Blen; ++i)B *= 10;
		for (i = l1 - l2; i >= 0; --i) {
			x = 0;
			while (chu >= B)chu -= B, x++;
			tmp[i / Blen + 1] = tmp[i / Blen + 1] * 10 + x;
			B /= 10;
		}
		tmp.len = (l1 - l2) / Blen + 1;
		while (tmp.len >= 1 && !tmp[tmp.len])tmp.len--;
		return tmp;
	}
	bignum operator +(const bignum & b) {
		bignum tmp;
		int i, l = max(len, b.len);
		for (i = 1; i <= l; ++i)tmp[i] = data[i] + b[i];
		for (i = 1; i <= l; ++i)tmp[i + 1] += tmp[i] / base, tmp[i] %= base;
		tmp.len = l;
		if (tmp[tmp.len + 1])tmp.len++;
		return tmp;
	}
	bignum operator +(ll x) {
		bignum tmp; tmp = *this;
		tmp[1] += x;
		for (int i = 1; i <= len && tmp[i] >= base; ++i)tmp[i + 1] += tmp[i] / base, tmp[i] %= base;
		while (tmp[tmp.len + 1])tmp.len++;
		return tmp;
	}
	bignum operator -(const bignum & b) {
		int i;
		bignum tmp;
		for (i = 1; i <= len; ++i)tmp.data[i] = data[i] - b.data[i];
		for (i = 1; i <= len; ++i) {
			if (tmp[i] < 0)tmp.data[i] += base, tmp.data[i + 1]--;
		}
		tmp.len = len;
		while (tmp[tmp.len] == 0 && tmp.len > 1)tmp.len--;
		return tmp;
	}
	bignum operator -(ll x) {
		bignum tmp; tmp = *this;
		tmp[1] -= x;
		for (int i = 1; i <= len && tmp[i] < 0; ++i) {
			tmp[i + 1] += (tmp[i] + 1) / base - 1;
			tmp[i] = (tmp[i] + 1) % base + base - 1;
		}
		while (!tmp[tmp.len] && tmp.len > 1)tmp.len--;
		return tmp;
	}
	ll operator %(ll x) {
		int i;
		ll y = 0;
		for (i = len; i >= 1; --i)y = (y * base + data[i]) % x;
		return y;
	}
	bignum operator %(const bignum & b) {
		if (b.len <= 1 && b[1] == 0) {
			printf("error! 被0 mod!");
			for (;;);
		}
		int i, l1 = (len - 1) * Blen, l2 = (b.len - 1) * Blen;
		ll x = data[len], y = b[b.len];
		while (x)x /= 10, l1++;
		while (y)y /= 10, l2++;
		bignum chu, B;
		chu = *this; B = b;

		for (i = 1; i * Blen <= l1 - l2; ++i)B *= base;
		for (i = 1; i <= (l1 - l2) % Blen; ++i)B *= 10;
		for (i = l1 - l2; i >= 0; --i) {
			while (chu >= B)chu -= B;
			B /= 10;
		}
		return chu;
	}

	bignum operator +=(const bignum & b) { return *this = (*this + b); }
	bignum operator *=(const bignum & b) { return *this = (*this * b); }
	bignum operator -=(const bignum & b) { return *this = (*this - b); }
	bignum operator /=(const bignum & b) { return *this = (*this / b); }
	bignum operator %=(const bignum & b) { return *this = (*this % b); }
	bignum operator *=(ll x) { return(*this = (*this * x)); }
	bignum operator +=(ll x) { return(*this = (*this + x)); }
	bignum operator -=(ll x) { return(*this = (*this - x)); }
	bignum operator /=(ll x) { return(*this = (*this / x)); }
	void read() {
		char c[bignumlen * Blen + 10];
		scanf("%s", c + 1);
		int l = strlen(c + 1);
		(*this).clear();
		ll x;
		for (int i = 1; i <= (l - 1) / Blen + 1; ++i) {
			x = 0;
			for (int j = l - Blen * i + 1; j <= l - Blen * i + Blen; ++j)if (j >= 1)x = x * 10 + c[j] - 48;
			data[++len] = x;
		}
	}
	void write() {
		printf("%lld", data[len]);
		for (int i = len - 1; i >= 1; --i)printf("%0*lld", Blen, data[i]);
	}
};
bignum gcd(const bignum & A, const bignum & B) {
	bignum a = A, b = B, res = 1;
	while (!(a[1] & 1) && !(b[1] & 1))a /= 2, b /= 2, res *= 2;
	for (;;) {
		if (a.len == 1 && a[1] == 0)return b * res;
		if (b.len == 1 && b[1] == 0)return a * res;
		while (!(a[1] & 1))a /= 2;
		while (!(b[1] & 1))b /= 2;
		if (a > b)a -= b;
		else b -= a;
	}
}
int main() {
	string s;
	double num;
	ll a, b, r;
	while (cin >> a >> b >> r) {
		r *= 2;
		if (a >= r && b >= r) cout << "First\n" << endl;
		else cout << "Second\n" << endl;
	}
}
//1 5 9 ... 4n + 1

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,m,r;
    scanf("%d%d%d",&n,&m,&r);
    puts(2*r<=min(n,m)?"First":"Second");
    return  0;
}
//2018-10-15 21:33:02.222

#include <algorithm>
#include <stdio.h>
#include <cstring>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <stack>
#include <queue>
#define eps 1e9
using namespace std;
int main()
{
    int a,b,r,x;
    scanf("%d%d%d",&a,&b,&r);
    x=min(a,b);
    if(x<2*r)
        puts("Second");
    else
        puts("First");
    return 0;
}
//2019-04-25 20:29:46.865

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a,b,c;
		cin>>a>>b>>c;
		if(a<c*2||b<c*2)
		cout<<"Second"<<endl;
		else
		cout<<"First"<<endl;
}

#include<iostream>
#include<cmath>
using namespace std;
int main() {
int a,b,r;
cin>>a>>b>>r;
if(2*r>a||2*r>b) {
cout<<"Second";
return  0;
}
cout<<"First";
}

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int a,b,r;
    cin>>a>>b>>r;
    cout<<(2*r>min(a,b)?"Second":"First");
    return 0;
}

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <queue>
#include <cfloat>
#include <string>
#include <climits>
#include <cstring>
#include <cassert>
#include <complex>

using namespace std;

#define INF 0x3F3F3F3F
#define LINF 0x3F3F3F3FFFFFFFFFLL
#define EPS 1e-7

#define FILL(X, V) memset(X, V, sizeof(X))
#define TI(X) __typeof((X).begin())

#define FOR(i, a, b) for(int i = a; i < b; ++i)
#define RFOR(i, b, a) for(int i = b - 1; i >= a; --i)
#define REP(i, N) FOR(i, 0, N)
#define RREP(i, N) RFOR(i, N, 0)
#define FORIT(it, i) for(typeof((i).begin()) it = (i).begin(); it != (i).end(); it++)

#define ALL(V) V.begin(), V.end()
#define S(V) (int)V.size()

#define pb push_back
#define mp make_pair

template<typename T> T inline SQR( const T &a ){ return a*a; }

typedef long long int64;
typedef unsigned long long uint64;

int main(){
	ios::sync_with_stdio( false );
	int a, b, r;
	cin>>a>>b>>r;
	if(a >= 2*r && b >= 2*r) cout<<"First\n";
	else cout<<"Second\n";
	return 0;
}

#include<queue>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    r=2*r;
    int x=a/r,y=b/r;
    if(x>=1&&y>=1)
        puts("First");
    else
        puts("Second");
    return 0;
}
/*2018-07-28 19:27:12.77*/

#include <cstdio>
#include <iostream>

using namespace std;

int n,m,r,s;
bool ans = 0,k;

int main()
{
	scanf ("%d%d%d",&n,&m,&r);

	int diam = r * 2;

	if (diam > min (n,m))
		cout << "Second";
	else
		cout << "First";
}

//#pragma GCC optimize(2)
//#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <cstdlib>
#include <map>
#include <set>

using namespace std;
typedef long long LL;
const int INF = 0x3F3F3F3F;
const int INTMAX = 0x7FFFFFFF;
const LL LLINF = 0x3F3F3F3F3F3F3F3F;
const double PI = acos(-1);
const int MAXN = 1e6 + 10;
const int MAXM = 1e6 + 10;
const LL MOD = 1e9 + 7;

int main() {

    LL a, b, r;
    cin >> a >> b >> r;
    if(2 * r <= a && 2 * r <= b) {
        puts("First");
    } else {
        puts("Second");
    }

    return 0;
}
/*2018-07-28 23:16:58.536*/

#include<bits/stdc++.h>
using namespace std;
#define ll  long long int
//ll p[50000005][2];
//ll sum[200005];
//priority_queue<ll>pq;
//ll b[2000005];
class Myfirst{
private:
    string *name;       ll *age;
    public:
        ll gcd(ll a ,ll b)
        {   if(b==0) return a;  a%=b;   return gcd(b,a);    }
        ll exte_gcd(ll a,ll b,ll& x,ll& y)
        {
            if(b==0)
            {   x=1; y=0;   return a;   }
            ll x1,y1;             ll d=exte_gcd(b,a%b,x1,y1);
            x=y1;                 y=x1-y1*(a/b);  return d;
        }
        ll powe(ll d,ll s)
        {
            if(s==1) return d;      else if(s==0) return 1;
            //else if(d==1) return d;
            else
            {   ll u,v=d;            for(u=1;u<s;u++)    d=d*v;
                return d;
            }
        }
        ll count_divisors(ll b)
        {
                ll i,count=0,n=1;
                for(i=2;i*i<=b;i++)
                {
                    count=0;
                    if(b%i==0)
                    {
                        while(b%i==0)
                        {
                            b=b/i;      count++;
                        }
                        n=n*(count+1);
                    }
                }
                if(b>1) n=2*n;
            return n;
        }
        ll phi(ll n)
        {
            double result=n;
            for (ll p=2;p*p<=n;++p){
                if (n%p==0){
                    while(n%p==0)       n/=p;
                    result*=(1.0-(1.0/(double)p));
                }
            }
            if(n>1)
                result*=(1.0-(1.0/(double)n));
            return (ll)result;
        }

        void solve()
        {
                        ll t;
            t=1;
            while(t--)
            {
                ll a,b,r;cin>>a>>b>>r;
                if(2*r>min(a,b)) cout<<"Second";
                else cout<<"First";
            }
        }

};
int main()
{
    Myfirst *prg = new Myfirst();
    prg->solve();
}

#include<bits/stdc++.h>
#define ll long long
#define M 1000000007
#define sz(c) c.size()
#define fr first
#define sc second
#define pb push_back
#define sz(c) c.size()
#define ppb  pop_back
#define mp make_pair
#define all(a)      (a).begin(),(a).end()
#define rep(i,a,n)   for(int i=a ; i<n ; i++)
#define what_is(x)  cout << #x << " is " << x << endl;
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int TESTS=1;
  //  cin>>TESTS;
    while(TESTS--)
    {
        //freopen("input.txt", "r", stdin);
        //freopen("output.txt", "w", stdout);
        int a,b,r;
        cin>>a>>b>>r;
        if(2*r>a||2*r>b)
        {
            cout<<"Second"<<endl;
        }
        else cout<<"First"<<endl;
    }
}

#include <iostream>
#include <cstdio>
using namespace std;

int main(){

    int a, b, r;
    cin >> a >> b >> r;
    r *= 2;
    if(r > a || r > b)cout << "Second\n";
    else cout << "First\n";

    return 0;
}

#include <iostream>
void go ()
{
    int a, b, r, d = 0;
    std:: cin >> a >> b >> r;
    d = r * 2;
    if (d <= a && d <= b)
    {
        std:: cout << "First";
    }
    else
    {
        std:: cout << "Second";
    }
}

int main()
{
    go();
}

#include <iostream>

using namespace std;

int main()
{
	int a,b,r;
	cin >> a >> b >> r;
	if(2*r > a || 2*r >b)
		cout << "Second" << endl;
	else
		cout << "First" <<endl;

	return 0;
}

#include <iostream>
#include <cstdio>
#include <math.h>
#include <vector>
#include <map>
#include <stdio.h>
#include <string>
#include <algorithm>
#include <stack>
#include <set>
#include <queue>
#include <sstream>
#include <iomanip>
#pragma comment (linker,"/STACK:16777216")
using namespace std;
long long INF=1000*1000*1000;

int main()
{
#ifdef _DEBUG
	freopen("Input.txt","r",stdin);
	freopen("Output.txt","w",stdout);
#endif

	int a,b,r;
	cin>>a>>b>>r;
	if(2*r>min(a,b))
		cout<<"Second";
	else
		cout<<"First";
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,r;
cin>>a>>b>>r;
if(r*2<=min(a,b))
{
        cout<<"First";
}
else
{
        cout<<"Second";
}
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,r;
    cin>>a>>b>>r;
    if(2*r<=min(a,b))
    {
        cout<<"First";
    }
    else
    {
        cout<<"Secpnd";
    }
}

# include <iostream>
  using namespace std;
  int main()
  {
      long long a, b, r, n;
      cin >> a >> b >> r;
      n = (a / r) * (b / r);
      if(n == 0) cout << "Second";
      else cout << "First";
      return 0;
  }

#include<bits/stdc++.h>
using namespace std;
int main(){
    double a,b,r;
    cin>>a>>b>>r;
    if(a<2*r||b<2*r){
        cout<<"Second";return 0;
    }
    int x,y,ans=0;
    x=a/(2*r),y=b/(2*r);
    a=a-x*(2*r),b=b-y*(2*r);
    ans+=x*y;
    if(a>sqrt(2)*r&&b>sqrt(2)*r){
        if(ans%2==0) cout<<"First";
        else cout<<"Second";
    }
    else{
        if(ans%2==0) cout<<"Second";
        else cout<<"First";
    }
}

#include <bits/stdc++.h>
using namespace std;
#define f(a,b,i) for(i=a;i<b;i++)
//#define r(a,b,i) for(i=a;i>=b;i--)
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int a,b,r;
    cin>>a>>b>>r;
    int d,x, n,m;
    d=2*r;
    n=(a/d);
    m=(b/d);
    x=m*n;
    if(x%2==0) cout<<"Second";
    else cout<<"First";

        return 0;

    }

#include <bits/stdc++.h>

using namespace std;

const double pi = 3.14159265359;
int a, b, r;

int main()
{
	int rect = a * b;
    double circ = (double)r * (double)r * pi;
        if(circ >= rect)
       printf("Second\n");
    else
    {
       int d = 2 * r;
       int sqrs = (b / d) * (a / d);
       if(sqrs & 1)
         printf("First\n");
       else
         printf("Second\n");
    }
    return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include <vector>
#include <map>
#include <queue>
#include <deque>
#include <stack>
#include <algorithm>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>

#define oo 1e9
#define pi 3.1415926536
#define all(x) x.begin(),x.end()
#define sorta(x) sort(all(x))
#define sortam(x,comp) sort(all(x),comp)
#define sortd(x) sort(x.rbegin(),x.rend())
#define pb push_back
#define mp make_pair
#define sf(x) scanf("%d", &x);
#define sfll(x) scanf("%I64d", &x);
#define pr(x) printf("%d ", x);

typedef long long ll;
using namespace std;

int main() {
	int a, b, r;
	while(cin >> a>>b>>r) {
		int tmp = a / (2 * r) * b / (2 * r);
		if(tmp % 2) cout << "First\n";
		else cout << "Second\n";
	}
	return 0;
}

#include<iostream>
using namespace std;
int main(){
    int a,b,r,k,q;
    cin>>a>>b>>r;
    if(a>=2*r && b>=2*r){
        k = ((a-(2*r))/((4*r)-1))+1;
        q = ((b-(2*r))/((4*r)-1))+1;
        if((k*q)%2==1)
            cout<<"First"<<endl;
        else
            cout<<"Second"<<endl;
    }else{
        cout<<"Second"<<endl;
    }
}

#include <iostream>

using namespace std;

int main()

{
    int n,m,r;
    cin>>n>>m>>r;
    int i=n/(2*r);
    int j=m/(2*r);
    int x=max(n/(2*r),m/(2*r));
    if(x<=2)
    {
    if(x%2==0)
    cout<<"Second";
    else
    cout<<"First";
    }
    else
    {
    if(x%2==1)
    cout<<"Second";
    else
    cout<<"First";

    }

}

#include <iostream>
#include <vector>
#include <string>
#include <math.h>
#include <algorithm>
#include <set>
#define watch(x) cout << (#x) << " is " << (x) << endl
#define fs(n) for (short i = 0; i < n; ++i)
#define fi(n) for (int i = 0; i < n; ++i)
#define fl(n) for (ll i = 0; i < n; ++i)
#define fc(n) for (auto& it : n)
#define M 1000000007
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
void check(bool* a, vector<string>& v, const string& s)
{
	bool add = 0, x = a[0], y = a[1], z = a[2];
	short i = 0;
	for (auto it = s.rbegin(); it != s.rend(); ++it)
	{
		if (*it != '0')
		{
			if (a[i] == 0)
			{
				add = 1;
				a[i] = 1;
			}
			else
			{
				a[0] = x;
				a[1] = y;
				a[2] = z;
				return;
			}
		}
		++i;
	}
	if (add)
		v.push_back(s);
}
short counter(const string& s)
{
	short c = 0;
	for (auto it : s)
	{
		if (it != '0')
			++c;
	}
	return 0;
}
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	short a, b, r;
	cin >> a >> b >> r;
	r *= 2;
	if (r > a || r > b)
		cout << "Second";
	else
	{
		b /= r;
		a /= r;
		if ((b * a) % 2 == 1)
			cout << "First";
		else
			cout << "Second";
	}

	return 0;
}

#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;

int main() {
  double a, b, r;

  cin >> a >> b >> r;

  int plates = (int)((a * b) / (r * r * M_PI));

  // even, first player looses
  if (plates % 2 == 0)
    cout << "Second" << endl;
  else
    cout << "First" << endl;

  return 0;
}

#include <iostream>
using namespace std;

int main() {
	int a,b,r;
	cin>>a>>b>>r;
	float area = 3.14*r*r;
	float area2 = a*b;
	float q = area2/area;
	int u = int(q);
	if(u%2 == 0)
	{
		cout<<"Second";
	}
	else
	{
		cout<<"First";
	}

	// your code goes here
	return 0;
}

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;

int main()
{
	int a,b,c,d,e;

	cin>>a>>b>>c;

	c<<=1;
	d=(a/c);
	e=(b/c);
	if ((d==1||d==2)&&(e==1||e==2)) cout<<"First"<<endl;
	else cout<<"Second"<<endl;
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int n,m,s;
int main(){
	scanf("%d%d%d",&n,&m,&s);
	if(n<s*2) {printf("Second");return 0;}
	if(m<s*2) {printf("First");return 0;}
	printf("First");
	return 0;
}

#include <iostream>
#include <string>
#include <cmath>
#include <vector>
#include <algorithm>
#include <iomanip>
#define optimizator ios_base::sync_with_stdio(0);
using namespace std;
int main(){
	optimizator;
	int a,b,c;
	cin>>a>>b>>c;
	if(c*2<min(a,b)){
		cout<<"First";
	}
	else{
		cout<<"Second";
	}
}

#include<iostream>

using namespace std;
int a,b,r;
int main()
{
    while( cin >> a >> b >> r )
    {
        if( ( (a/r)*(b/r) )&1 )
            cout << "Second" << endl;
        else cout << "First" <<endl;
    }
}

#include<bits/stdc++.h>
#define ll long long

using namespace std;

int main()
{
	double n , m , r;
	cin>>n>>m>>r;
	if(2*r > n || 2*r > m)
	{
		printf("Second\n");
		return 0;
	}
	m = m -(2*r-1);
	n = n - (2*r-1);
	ll a ,b;
	a =  (n/(2*r)) ;
	if( a==0) a= 1;

	b = (m/(2*r));
	if(b == 0) b= 1;
	ll ans = a*b;
	if(ans%2 == 0)
	{
		printf("Second\n");
	}
	else
	printf("First\n");
	return 0;
}

#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
#define int long long
#pragma GCC optimize("O3")
 const long long mod1=998244353;
    const long long mod2=1000000007;
long long pow(int a,int b) {
    if (b==0 || a==1) return 1;

    if (b%2==0) { long long k=pow(a,b/2); return (k*k); }
    else { long long k=pow(a,b/2); return k*k*a; }
}
long long powmod(long long a,long long b,long long mod) {
    if (b==0 || a==1)  {if (mod==1) return 0; else return 1; }

    if (b%2==0) { long long k=powmod(a,b/2,mod); return (k*k)%mod; }
    else {long long k=powmod(a,b/2,mod); return ( (k*k) %mod *a)% mod; }
}
long long gcd(long long a, long long b) {
    if (a==0) return b;
    if (b==0) return a;
    if (a>b) return gcd(a%b,b); else return gcd(b%a,a);
}
int prime(int p) { // 1 - простое
    for (int i=2;i*i<=p;i++) {
        if (p%i==0 && i<p) return 0;
    }
    return 1;
}
long long sqr(long long i) {
    return i*i;
}
using namespace std;

signed main() {

     /* --------- */

int a,b,r;
cin>>a>>b>>r;
if (2*r>=min(a,b)) cout<<"Second"; else cout<<"First";
   /* --------- */
    return 0;
}

//In the name of GOD
#include <iostream>
#include <cmath>
#include <conio.h>
#include <algorithm>
#include <cstring>
using namespace std;
int main(){
    int a,b,r;
    cin>>a>>b>>r;
    if((a*b/(r*r*4))%2==0){cout<<"Second";}
    else if((a*b/(r*r*4))%2==1){cout<<"First";}
    cin>>r;
    return 0;
    }

#include <bits/stdc++.h>
using namespace std;
int main()
{
	double a,b,r;   cin>>a>>b>>r;
	if((2*r) > min(a,b))
	{
		cout<<"Second"<<endl;
		return 0;
	}
	int re = (int)((a-2*r)/2*r) + (int)((b-2*r)/2*r);

	if(re%2==0)
	cout<<"First"<<endl;
	else
	cout<<"Second"<<endl;
}

#include <iostream>
#include <stdio.h>
#include <string>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <queue>
#include <deque>
#include <stack>
#include <bitset>
#include <iomanip>
#include <complex>

#define ll long long
#define ld long double
#define ull unsigned long long
#define endl "\n"
#define MohamedMotaz ios::sync_with_stdio(0); cin.tie(0); ios_base::sync_with_stdio(0);
#define f(a, b, c) for(int a = b; a < c; a++)
#define fr(a, b, c) for(int a = b; a >= c; a--)
#define all(a) a.begin(), a.end()
#define vll vector<ll>
#define vld vector<ld>
#define vi vector<int>
#define vs vector<string>
#define pll pair<ll,ll>
#define pld pair<ld, ld>
#define vpll vector<pll>
#define vpld vector<pld>
#define vc vector<char>
#define vs vector<string>
#define vp vector<point>
#define vb vector<bool>
#define mll map<ll,ll>
#define mllv map<ll, vll>
#define mcll map<char, ll>
#define msll map<string, ll>
#define mss map<string, string>
#define mcs map<char, string>
#define sll set<ll>
#define pi acos(-1)
#define point complex<ld>
using namespace std;

const ll mod = 1e9 + 7;
int dirX[] = { 0, -1, 0, 1, -1, 1, -1, 1 };
int dirY[] = { -1, 0, 1, 0, 1, -1, -1, 1 };

const ll MOD = 998244353;
//const ll mod = 1e9 + 7;
const ll N = 1e5 + 7;
const ll inf = 1e18 + 5;

ll t, n, m, a, b, k, c = 0, d;
ll x11, x22, y11, y22;
string s;

int main() {
    MohamedMotaz
    cin >> a >> b >> n;
    ll circle = 2 * pi * (n * 2) * (n * 2);
    ll area = a * b;
    ll val = area / circle;
    if (val % 2) cout << "First";
    else cout << "Second";

}

#include<bits/stdc++.h>

using namespace std;

typedef long long           ll;
typedef unsigned long long  ull;

int main ()
{
    ll n,k,r;
    cin>>n>>k>>r;
    if((n*k)>=(acos(-1)*r*r))
    {
        cout<<"First"<<endl;
    }
    else
    {
        cout<<"Second"<<endl;
    }

    return 0;
}

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <bitset>
#include <cstdlib>
#define sqr(x) (x) * (x)
#define F first
#define S second
#define pb push_back
#define sz(a) int((a).size())
#define mp make_pair

using namespace std;

const int MAXN = (int)1e9 + 1;
const int mod = (int)1e9 + 7;
typedef long long ll;
typedef vector<int> vi;
typedef vector<long long, long long> vll;
typedef pair<int, int> pii;
typedef pair<long long, long long> pll;

int main(){
	int a, b, r;
	scanf ("%d %d %d", &a, &b, &r);
	int tmp1 = a/r, tmp2 = b/r;
	int k = tmp1 * tmp2;
	if (k == 0) {
		printf ("Second");
		return 0;
	}
	if (k % 2 == 0)
		printf ("First");
	else
		printf ("Second");
    return 0;
}

#include<algorithm>
#include<iostream>
#include<math.h>
#include<stdio.h>
int n,m,i=0,j,l,max1=-1,min1=99999999,a[10000001];
using namespace std ;
main()
{
 //freopen ("input.txt","r",stdin);
 //freopen ("output.txt","w",stdout);

cin>>n>>m>>l;
l*=2;
 while (n>l && m>l)
  {
     n-=l;
     m-=l;
     i++;
  }
  if (i%2==1)printf ("First");
  else printf ("Second");

return 0;
}

#include <iostream>
using namespace std;

int main() {
    int a,b,r;
    cin>>a>>b>>r;
    int z = (a*b)/(4*r*r);
    if(z%2 == 0){
        cout<<"Second";
    }else{
        cout<<"First";
    }
	return 0;
}

#include<iostream>

using namespace std;

int main()
{
     int a,b,r;
     cin>>a>>b>>r;
     r*=2;
     int n = (a/r  )*( b/r);

     if( n%2 == 1 ) cout<<"First";
     else cout<<"Second";

}

#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
#include <map>
#include <vector>
#include <set>
#include <ctime>
#include <list>
#define INF 1100000000
#define MOD 1000000007
#define test 1000000
#define PR 3571
#define ll long long
#define pi 3.141592653589

using namespace std;

int a,b,r;
int main()
{
      cin>>a>>b>>r;
      r*=r;
      int tm1=a/r,tm2=b/r;

      if (min(tm1,tm2)%2==0) cout<<"Second";
      else
      cout<<"First";
}

#include <iostream>

using namespace std;

int main() {
	int a, b, r;
	cin >> a >> b >> r;
	if (a < r || b < r)
		cout << "Second" << endl;
	else
		cout << "First" << endl;
	return 0;
}

/*
 █ █  ▀▀█▀▀  ▀▀▀█
  █     █      █
 █ █    █    ▄█▄▄
 */
//XTZ --> by Mr.X ;
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>
#include <map>
#include <deque>
#include <math.h>
#include <cstring>
#include <string.h>
#include <iomanip>
#include <stdlib.h>
using namespace std ;
#define ll long long
void FastInputOutput(){
    ios_base :: sync_with_stdio( 0 ) ;
    cin.tie( 0 ) ;
    cout.tie( 0 ) ;
}
int main (){
    int a , b , r ;
    scanf ( "%d%d%d" , &a , &b , &r ) ;
    r *= 2 ;
    int numOfC = max ( a / r , b / r ) ;
    printf ( "%s" , numOfC % 2 == 0 ? "Second" : "First" ) ;
    return 0 ;
}

#include<iostream>
int main(){
    int a,b,r;
    std::cin>>a>>b>>r;
    std::cout<<(((a<r)+(b<r))?"second":"first");
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int a,b,c,s;
   scanf("%d%d%d",&a,&b,&c);
         if(a>=2*c && b>=2*c)
         {
 s=(a*b)/4*c*c;
 s/=2;
 if (s==0)
    printf("SECONDE");
 else printf("FIRST");}
 else printf("SECONDE ");
    return 0;
}

#include <stdio.h>

int main(){
    int a,b,r;
    while(scanf("%d %d %d",&a,&b,&r)==3){
        int c=a/(2*r),d=b/(2*r);
        int z=c*d;
        if(z%2==1)puts("First");
        else puts("Second");
    }
}

#include <cstdio>
#include <vector>
#include <algorithm>
#include <iostream>
#include <string>
#include <string.h>
#include <ctype.h>
#include <stack>
#define PI 3.14159265359
using namespace std ;

double area(int r)
{
    return PI*r*r;
}

int main()
{
    int a , b , r;
    cin>>a>>b>>r;
    int rec_area=a*b,cir_area=area(r);
    for(int i =1;;i++)
    {
        bool b=0;
        if(rec_area>=cir_area)
        {
            rec_area-=4*cir_area;
            b=1;
        }

        if(rec_area<cir_area)
        {
            if(i&1 )
                cout<<"First";
            else
                cout<<"Second";
            return 0;
        }
    }

    return 0;
}

#include <iostream>
using namespace std;

int main() {
	// your code goes here
	int l,b,r,max;
	long s;
	cin>>l>>b;
	cin>>r;
	b=b%(2*r);
	l=l%(2*r);
	s=l*b;
	if(s%2==1||s==0)
	cout<<"Second";
	else
	cout<<"First";
	return 0;
}

#include<iostream>
#include<math.h>
#include<stdio.h>
#define PI 3.1415926
using namespace std;
int min1(int a,int b)
{
	if(a>b) return b;
	return a;
}
int main()
{
	int a,b,r;
	int ans=0;
	scanf("%d%d%d",&a,&b,&r);
	for(int i=r*2;i<=b;i+=r*2) ans+=a/(2*r);
	if(ans%2==0) printf("Second\n");
	else printf("First\n");
	return 0;
}

#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <fstream>
#include <iomanip>
#include <bitset>
#include <list>
#include <strstream>
using namespace std;
#define REP(i,n) for(i=0;i<(n);++i)
#define FOR(i,l,h) for(i=(l);i<=(h);++i)
#define FORD(i,h,l) for(i=(h);i>=(l);--i)
typedef vector<int> VI;
typedef vector<double> VD;
typedef long long LL;

int main()
{
    int a, b, d, r;
    while(cin>>a>>b>>r) {
        int n1, n2, n3, h;
        d = r * 2;
        n1   =   (int)(a/d)   *   (int)(b/d) ;

        h   =   (int)((b/d   -   1)*2/sqrt(3.0)   +   1) ;
        if(h % 2 == 0)
            n2   =   (int)(a/d)   *   h   -   h   /   2 ; //        (h为偶数时)
        else
            n2   =   (int)(a/d)   *   h   -   (h   -   1)   /   2 ;   //     (h为奇数时)

        h   =   (int)((a/d   -   1)*2/sqrt(3.0)   +   1) ;
        if(h % 2 == 0)
            n3   =   (int)(b/d)   *   h   -   h   /   2 ;//      (h为偶数时)
        else
            n3   =   (int)(b/d)   *   h   -   (h   -   1)   /   2  ;//     (h为奇数时)
        if(n1 > n2) n1 = n2;
        if(n1 > n3) n1 = n3;
        if(n1 == 1 || n1 == 2) cout<<"First"<<endl;
        else if(n1 == 0) cout<<"Second"<<endl;
        else {
            if(n1 % 2 == 0) cout<<"First"<<endl;
            else cout<<"Second"<<endl;
        }
    }
        return 0;
}
// END CUT HERE

   #include<bits/stdc++.h>
 using namespace std;

 int main()
{
    int a,b,r,x,y,z=0;
    cin>>a>>b>>r;
    if(a==b&&a>2*r){
        cout<<"First";
        return 0;
    }
    x=a/(2*r);   y=b/(2*r);
    z=min(x,y);
    if(z%2==0)cout<<"Second";
    else cout<<"First";
return 0;
}

#include <stdio.h>

int main(){
    int a, b, r;
    scanf ("%d%d%d", &a, &b, &r);
    if (r+r <=a || r+r <=b)
        printf ("First\n");
    else
        printf ("Second\n");
    return 0;
}

#include<iostream>
using namespace std;
int main(){
    int l , b1 , r;
    cin>>l>>b1>>r;

    int a = l/(2*r);
    int b = b1/(2*r);

    if(a>1){
        a--;
    }
    if(b>1){
        b--;
    }

    int p = l%(2*r);
    int q = b1%(2*r);
    int ans = a*b;

    if(p>=r){
        ans += b;
    }

    if(q>=r){
        ans += a;
    }

    if(ans%2==0){
        cout<<"Second"<<endl;
    }else{
        cout<<"First"<<endl;
    }

}

#include <iostream>
#include <vector>
#include <algorithm>
#include <utility>
#include <map>
#include <cstdio>
#include <iostream>
#include <string>
#include <map>
#include <fstream>

using namespace std;

int main() {
    int a,b,r;
    cin>>a>>b>>r;
    int d=r*2;
    int s=a*b;
    int ss=4*r*r;
    int c=s/ss;
    if(c%2==0){
        cout<<"Second";
    }else{
        cout<<"First";
    }
    return 0;
}

/**********************************************************************
 *                  BISMILLAHIR RAHMANIR RAHIM                        *
 *                                                                    *
 * "There's a benefit to losing, you get to learn from your mistakes" *
 **********************************************************************/

#include<bits/stdc++.h>

using namespace std;

#define si(x) scanf("%d",&x)
#define sii(x,y) scanf("%d %d",&x,&y)
#define siii(x,y,z) scanf("%d %d %d",&x,&y,&z)
#define sl(x) scanf("%lld",&x)
#define sll(x,y) scanf("%lld %lld",&x,&y)
#define slll(x,y,z) scanf("%lld %lld %lld",&x,&y,&z)
#define ss(ch) scanf("%s",ch)
#define chr getchar()
#define pi(x) printf("%d",x)
#define pii(x,y) printf("%d %d",x,y)
#define pl(x) printf("%lld",x)
#define pll(x,y) printf("%lld %lld",x,y)
#define ps(ch) printf("%s",ch)
#define pc(ch) printf("%c",ch)
#define sf scanf
#define pf printf
#define pcs(x,y) printf("Case %d: %s", x, y)
#define pci(x,y) printf("Case %d: %d", x, y)
#define NL printf("\n")
#define nl '\n'
#define debug(x) printf("Debug  %d !!\n",x)
#define mod 1000000007
#define FI freopen("in.txt","r",stdin)
#define FO freopen("out.txt","w",stdout)

#define FOR(i,j,k) for(i = j; i < k; i++)
#define rep(l,n) FOR(l,0,n)
#define REV(i,j,k) for(i = j; i > k; i--)
#define PI acos(-1.0)

#define INF_MAX 2147483647
#define INF_MIN -2147483647

#define pb(x) push_back(x)
#define ppb() pop_back()
#define sz(x) x.size()
#define xx first
#define yy second
#define mp(a,b) make_pair(a,b)

#define mem(ara,val) memset(ara,val,sizeof(ara))
#define clr(ara) mem(ara,0)
#define st(ara) mem(ara,-1)
#define all(a) a.begin(),a.end()

#define ssz(a) strlen(a)
#define eps 1e-9

typedef long long LL;
typedef unsigned long long ULL;
typedef vector<int> VI;
typedef pair<int,int> PII;
typedef vector< PII > VII;

//#define CFw

int main(){
    //std::ios_base::sync_with_stdio(0);
    #ifdef CFw
        while(1){
    #endif
    //FI;//FO;

    int t, z = 0, l, i = 0, len;

    int n, k, m = 0;

    siii(n,m,k);

    if(2*k < min(n,m))
        ps("First");

    else
        ps("Second");

    #ifdef CFw
    NL;
    }
    #endif

    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main()
{
int a,b,r;
cin>>a>>b>>r;
r*=2;
r*=r;
a*=b;
a/=r;
cout<<a<<endl;
if(a&1)cout<<"First";
else cout<<"Second";

}

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int a,b,r,n;
    cin>>a>>b>>r;
    n = (a*b)/(4*r*r);
    if(n%2==0)
    {
        cout<<"Second";
    }
    else
    {
        cout<<"First";
    }
}

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
	int a, b, r;
	cin >> a >> b >> r;

	if (a > 2*r && b > 2*r) {
		cout << "First" << endl;
	} else {
		cout << "Second" << endl;
	}
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,b,r;cin>>a>>b>>r;r*=2;a/=r;b/=r;
	if(min(a,b)%2==0) cout<<"Second";
	else cout<<"First";
	return 0;
}

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<list>
#include<string>
#include<cstring>
#include<cstdlib>
#include<set>
#include<map>
#include<vector>
using namespace std;

int main(){
	//freopen("a.txt", "r", stdin);
	int a,b,r;
	scanf("%d %d %d", &a, &b, &r);
	r = 2 * r ;
	int ans = ( a / r ) * ( b / r ) ;
	if( ans % 2 ) printf("First\n");
	else printf("Second\n");

	return 0;
}

#include<bits/stdc++.h>
using namespace std;
#define __ ios_base::sync_with_stdio(0); cin.tie(0);
#define endl '\n'
#define foreach(it, x) for (__typeof (x).begin() it = (x).begin(); it != (x).end(); ++it)
#define all(x) x.begin(),x.end()
#define D(x) cout << #x " = " << (x) << endl;

template <class T> string toStr(const T &x)
{ stringstream s; s << x; return s.str(); }

template <class T> int toInt(const T &x)
{ stringstream s; s << x; int r; s >> r; return r; }

int dx[8] = {-1,-1,-1,0,1,1, 1, 0};
int dy[8] = {-1, 0, 1,1,1,0,-1,-1};

int main() {
  int a,b,r;
  cin >> a >> b >> r;

  r += r + 1;
  int cnt = a / r;
  cnt *= b / r;
  cout << ( cnt % 2 != 0 ? "First" : "Second");

  return 0;
}

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int a,b,r,ok=0,count=0;
    scanf("%d%d%d",&a,&b,&r);
    while(ok==0)
    {
     count++;
     if((a==2*r||b==2*r)&&count%2==1){printf("Second\n");ok=1;}
     else if((a<=2*r||b<=2*r)&&count%2==1){printf("Second\n");ok=1;}
     else if((a<=2*r||b<=2*r)&&count%2==0){printf("First\n");ok=1;}
     if(a>=b){a-=4*r;}
     else if(b>=a){b-=4*r;}
    }
    return 0;
}

#include <iostream>
#include <string>
using namespace std;

int main(int){
int n,m,k,i=0,p,l,z;
cin>>n>>m>>k;
p=n*m;
l=l*l*4;
if(l>p)
cout << "Second";
else{
while(p>0){
p-=l;
i++;}
if(i%2==0)
cout<<"Second";
else cout<<"First";
}

    return 0;
}

//Tonight's the night and it is going to happen again and again.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mp make_pair
#define pb push_back
#define T ll t; cin>>t; while(t--)
#define mod 1000000007
#define mem(name,val) memset(name,val,sizeof(name))
#define f(n) for(ll i = 0;i<n;i++)
#define endl "\n"
ll gcd(ll a,ll b){if(b==0){return a;}return gcd(b,a%b);}
int main()
{
   ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
   #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
   #endif
    double a,b,r;
   cin>>a>>b>>r;
  int n=(min(a,b))/2*r;
  if(n%2==0)
  {
  	cout<<"Second";
  }
  else{cout<<"First";}
}

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<iterator>
#include<cmath>
#include<string>
#include<sstream>
#include<cstring>
#include<ctype.h>
#include<iomanip>
#include<bitset>
#include<stdio.h>
#include<fstream>
#include<stdlib.h>
#include<math.h>

using namespace std;

#define all(v)         v.begin(),v.end()
#define sz(V)        ((int)((v).size()))
#define PB(x)               push_back(x)
#define ck(a)               (a<1 || a>9)
#define lop(i,n)    for(int i=0;i<n;i++)
#define loop(i,f,l) for(int i=f;i<l;i++)
#define READ(s)   freopen(s, "r", stdin)
#define WRITE(s) freopen(s, "w", stdout)
#define INF                   1000000000
#define PI             3.141592653589793

typedef string            ss;
typedef long long         ll;
typedef pair <int, int>   ii;
typedef pair<string, int> si;
typedef pair<int, string> is;
typedef pair<char, int>  chi;
typedef vector<ii>       vii;
typedef vector<int>       vi;
typedef vector<vi>       vvi;
typedef vector<string>    vs;
typedef vector<ll>       vll;

int main()
{
    int a, b, r, count = 0;
    cin >> a >> b >> r;
    int d = 2 * r;
    int x = min(a, b);

    while (x > 0)
    {
        x -= d; count++;
    }
    cout << ((count % 2) ? "Second" : "First");

    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main()
{
  ios_base::sync_with_stdio(false);
  int a,b,r,count=0,area;
  cin>>a>>b>>r;
  area=a*b;
  while(area>(int)3.14*r*r)
  {
   area-=(int)3.14*r*r;
   count+=1;
  }
  if(count%2==0)
  cout<<"Second";
  else
  cout<<"First";

}

//============================================================================
// Name        : codeforces.cpp
// Author      : mark
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<string>
#include<algorithm>
#include<list>
#include<map>
using namespace std;
typedef long long ll;
const int maxn = 111111;
void File() {
	freopen("input.txt", "r", stdin);
	freopen("output.txt","w",stdout);
}
int main() {
	int a, b, r;
	while (cin >> a >> b >> r) {
		r <<= 1;

		if (a >= 2 * r)
			a -= r;
		if (b >= 2 * r)
			b -= r;
		int k = (a / r) * (b / r);
		if (k & 1)
			puts("First");
		else
			puts("Second");
	}
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    ll n,m,k;
    cin >> n >> m >> k;
    if(2*k>=min(n,m)){
        cout << "Second" << endl;
    }
    else cout << "First" << endl;
}

#include<iostream>
using namespace std;
int main()
{
  int n,m,r;
    cin>>n>>m>>r;
  if(n>=2*r && n<2*r*3  && m>=2*r && m<2*r*3) cout<<"First"<<endl;
     else {
              if(((n/(r*2*3)+1)*(m/(r*2*3)+1))%2) cout<<"First"<<endl;
         else cout<<"Second"<<endl;
                }
    return 0;

}

#include<iostream>
#include<iomanip>
#include<cmath>
#include<string>
#include<cstdio>
#include<sstream>
#include<utility>
#include<string>
#include<cstdlib>
#include<valarray>
#include<algorithm>
#include<vector>
#include<iterator>
#include<list>
#include<set>
#include<numeric>
#include<bits/stdc++.h>
#define ll long long
ll prime[100001];
using namespace std;
int Prime(int a)
{
    for(int i=2;i<=a/2;++i)
    {
        if(a%i==0)
        {
            return 0;
        }
    }
    return 1;
}
void sieve()
{   for(int i=0;i<=100000;i++)
    prime[i]=0;

    int maxn=100000;
    for(int i=2;i<=maxn;i++)
    {
        if(prime[i]==0)
        {
            for(int j=i;j<=maxn;j+=i)
            {
                prime[j]++;
            }
        }
    }
}
void fibo(ll a[],ll n)
{
    ll x=0;
    ll y=1;
    a[0]=0;
    a[1]=1;
    for(ll i=2;i<n;++i)
    {
        a[i]=(x+y)%10;
        x=y;
        y=a[i];
    }
}
ll f(ll w[],ll a[][2],ll i,ll y)
{
    for(ll j=0;j<y;++j)
    {
        if(a[i][2]<=w[j])
        {
            cout<<a[i][2];
            return w[j];
        }
    }
    return w[y-1];
}
ll s(ll v[],ll a[][2],ll i,ll x)
{
    for(ll j=0;j<x;++j)
    {
        if(a[i][1]>=v[j])
        {
            cout<<" "<<a[i][1]<<" ";
            return v[j];
        }
    }
    return v[0];
}
int main()
{
    ll a,b,r;
    cin>>a>>b>>r;
    ll c=min(a,b),d=0;
    while(c>=2*r)
    {
        c=c/2-r;
        ++d;
    }
    if(d%2==0)
    {
        cout<<"Second";
    }
    else
    {
        cout<<"First";
    }
    return 0;
}

#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
typedef long long ll;
int a, b, d;
int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> a >> b >> d;
    d *= 2;
    ll tot = (a / d) * (b / d);
    if(tot == 0)        cout << "Second";
    else if(tot == 1)   cout << "First";
    else                cout << (tot % 2 ? "Second" : "First");
    return 0;
}

#include<bits/stdc++.h>
#include<string>
using namespace std;
int main()
{
    int a,b,r,a1,a2,ans,x,y,z,no;
    cin>>a>>b>>r;
    x=a/(2*r);
    y=b/(2*r);
    no=x*y;

    if(a>=2*r&&b>=2*r)
    {
        a1=a*b;
        a2=r*3.14*r;
        ans=a1/a2;
        z=min(ans,no);
        if(z%2==0&&x%2!=0)
        {
            cout<<"Second";
        }
        else
            cout<<"First";
    }
    else
        cout<<"Second";

return 0;
}

#include <iostream>
#include <cstdio>
#include <cstring>
#include <math.h>
#include <algorithm>
using namespace std;

int main()
{
    int a,b,r,i,j;
    while(cin>>a>>b>>r)
    {
        int c=a*a+b*b;
        if(b>=2*r||a>=2*r)
        cout<<"Fisrt"<<endl;
        else
        cout<<"Second"<<endl;
    }
}

#include<stdio.h>
#include<bits/stdc++.h>
const double pi=acos(-1.0);
int main(void)
{
	int a,b,r;
	scanf("%d%d%d",&a,&b,&r);
	 a = a/(2*r);
	 b = b/(2*r);
	 int cout =a*b;
	if(cout&1)
	printf("First\n");
	else
	printf("Second\n");
}//2020-03-17 21:34:59.858

//Copyright (c) Nguyen Nam
//#include <fstream>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <vector>
#include <deque>
#include <set>
#include <map>
#define V(T) vector <T>
#define DE(T) deque <T>
#define SE(T) set <T>
#define MA(T, T1) map <T, T1>
#define P(T) pair <T, T>
#define PA(T, T1) pair <T, T1>
#define mpa make_pair
#define un unsigned
#define i64 long long
#define gs(a) (int)(a).size()
#define FOR(a, c) for (int a = 0; a < c; a++)
#define FORN(a, b, c) for (int a = b; a < c; a++)
#define RFOR(a, b) for (int a = b; a >= 0; a--)
#define RFORN(a, b, c) for (int a = b; a >= c; a--)
#define ITFOR(T, a, b) for (T::iterator a = (b).begin(); a != (b).end(); a++)
#define ETER for (;;)

using namespace std;

int main() {
//	ifstream cin("input.txt");
//	ofstream cout("output.txt");
	int a, b, r;
	cin >> a >> b >> r;
	if ((4 * r <= a && 2 * r <= b) || (4 * r <= b && 2 * r <= a) || 2 * r > a || 2 * r > b) {
		cout << "First" << endl;
	} else {
		cout << "Second" << endl;
	}
//	cin.close();
//	cout.close();
}

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<list>
#include<string>
#include<cstring>
#include<cstdlib>
#include<set>
#include<map>
#include<vector>
using namespace std;

#define MAX 100005
string s;
int table[ MAX ][ 27 ];
int last[ 27 ];
int main(){
//	freopen("a.txt", "r", stdin);
	int i,j;
    cin >> s;
    int n = s.size();
    for( i = 0; i < 26; i ++ ) {
        for( j = 1; j <= n; j ++ ) {
            table[ j ][ i ] = table[ j - 1 ][ i ];
            if( s[ j - 1 ] == 'a' + i ){
                table[ j ][ i ] ++ ;
            }
        }
    }

    memset( last, -1, sizeof( last ) );
    for( i = 0; i < n; i ++ ) {
        int v = s[ i ] - 'a' ;
        last[ v ] = i;
    }
    string s = "";
    int cur = 0;
    for( i = 25; i >= 0; i -- ) {
        if( last[ i ] == -1 ) continue;
        int var = last[ i ];
        int r = table[ var + 1 ][ i ] - table[ cur ][ i ];
        for( j = 0; j < r; j ++ ) s += ('a' + i );
        if( var >= cur ) cur = var ;
    }

    cout << s << endl;

	return 0;
}

#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define qtime   long long q;\
                           cin >> q;\
                           while(q--)
#define fi first
#define se second
#define loop(i,n)  for(long long i=0;i<n;i++)
#define print(x)    for(auto t : x)\
                                cout << t << " " ;
#define printnl(x)    {for(auto t : x)\
                              cout << t << endl;};
#define all(x)  x.begin(), x.end()
#define o(x) cout << x << "\n"
#define i(x) cin >> x;
#define itr(x,a,b)  (x.begin()+a, x.begin()+b);
#define fast     ios_base::sync_with_stdio(false);\
                        cin.tie(NULL);
#define inp(x) long long x;\
                        cin >> x
#define loop1(i,a,b)   for(unsigned long long i=a ; i<=b ; i++)
#define itrloop(it,x) for(auto it=x.begin(); it!=x.end(); it++)

typedef long long ll;
typedef vector<long long> vl;
typedef vector<int> vi;
typedef vector <string> vs;
typedef vector <char> vc;
typedef set<long long> sl;
typedef set<int> si;
typedef set <string> ss;
typedef set <char> sc;
typedef map<long long, long long> ml;
typedef map<int,int> mi;
typedef map <string, int> ms;
typedef map <char,int> mc;

bool isprime(int n) {
    for(int i=sqrt(n); i>1; i--) {
        if(n%i==0)
            return false;
    }
    return true;
}

bool is_int(long double d) {
    if(d==ceil(d))
        return true;
    return false;
}

long long fact(int x) {
    if(x==0 || x==1)
        return 1;
    else
        return x*fact(x-1);
}

long long ncr(long long n, long long r) {
    return (fact(n)/(fact(r)*fact(n-r)));
}

long long gcd(ll n, ll m) {
    if (n%m ==0) return m;
    if (n < m) swap(n, m);
    while (m > 0) {
        n = n%m;
        swap(n, m);
    }
    return n;
}

void solve(){
    int l,b,r, turn=0;
    cin >> l >> b >> r;
    int d = 2*r;
    while(l>=d && b>=d) {
        l-=(d+1);
        b-=(d+1);
        turn++;
    }
    if(turn%2==0)
        o("Second");
    else
        o("First");
}

int main()
{
//    freopen("input.txt", "r", stdin);
//    freopen("output.txt", "w", stdout);
    fast;
    int q = 1;
//    cin >> q;
    while(q--) {
        solve();
    }
    return 0;
}

#include <iostream>
#include <string>
using namespace std;
int main()
{
int a , b , r , s1 , s2 , kol ;
cin >> a >> b >> r ;
s1= a%r ;
a = a-s1;
s2= b%r ;
b= b-s2;
a=a/r;
b=b/r ;
kol=a*b ;
string str="Second" ;
for (int i=1;i<=kol+1;i++)
{
if (str=="Second") str = "First" ;
else str = "Second" ;
}
cout << str ;
return 0 ;
}

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    int a,b,r,ok=0,count=0;
    scanf("%d%d%d",&a,&b,&r);
    while(ok==0)
    {
     count++;
     if((a==2*r||b==2*r)&&count%2==1){printf("Second\n");ok=1;}
     else if((a<=2*r||b<=2*r)&&count%2==1){printf("Second\n");ok=1;}
     else if((a<=2*r||b<=2*r)&&count%2==0){printf("First\n");ok=1;}
     if(a>=b){a-=2*r;}
     else if(b>=a){b-=2*r;}
    }
    return 0;
}

//
//  main.cpp
//  CF197A
//
//  Created by Матвей Кравцов on 04.05.14.
//  Copyright (c) 2014 Матвей Кравцов. All rights reserved.
//

#include <iostream>
using namespace std;
int a,b,r,p;
int main(int argc, const char * argv[])
{
    cin>>a>>b>>r;
    p =((a*b)/(2*2*r*r));
    cout << (p?"First":"Second");
    return 0;
}

#include <bits/stdc++.h>
# define PI 3.14159265358979323846
using namespace std;
int main(){
	double a,b,r;
	cin>>a>>b>>r;
	double A1=a*b;
	double A2=PI*(r*r);
	if((int)(A2/A1)>0)
		cout<<"Second";
	else{
		double ans=(double)(A1/A2);
		//cout<<"r: "<<ans<<endl;
		if((int)(ans)%2==0)
			cout<<"Second";
		else
			cout<<"First";
	}
	return 0;
}
/*
	25
	16

	25/16=1
	25%16=9

	32/16=2
	32%16=0

*/

#include<iostream>
#include<cmath>
using namespace std;
int min (int a,int b)
{
    if(a>=b)
    return a;
    else
    return b;
}
int main ()
{
    int a,b,r;
    float d=sqrt(pow(a,2)+pow(b,2));
    cin>>a>>b>>r;
    if(2*r>min(a,b))
    cout<<"Second";
    else
    cout<<"First";
    return 0;
}

#include <bits/stdc++.h>
#define int long long
const int MOD=1e9+7;
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
typedef vector<double> vd;
typedef vector<vd> vvd;
typedef pair<int, int> pii;
typedef pair<double, double> pdd;
typedef vector<pii> vii;
typedef vector<string> vs;
#define mod(n,k) ( ( ((n) % (k)) + (k) ) % (k))
#define forn(i,a,b) for(int i = a; i < b; i++)
#define pb push_back
#define forr(i,a,b) for(int i = a; i >= b; i--)
#define all(x) (x).begin(), (x).end()

void solve() {
    int a,b,r;
    cin >> a >> b >> r;
    int c = 0;
    if (r>a || r>b) {
        cout << "Second";
        return;
    }
    while (a>0 && b>0) {
        c++;
        a-=r;
        b-=r;
    }
    if (c%2==0) {
        cout << "Second";
        return;
    } else {
        cout << "First";
        return;
    }
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t = 1;
//  cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}

#include <iostream>
#include<string.h>
#include <stdio.h>
#include <bits/stdc++.h>
#define ll long long
#define MAXXX 10000001
#include <vector>
#include<set>
#include <map>
#include <queue>
#include <deque>
#include <algorithm>
#include <math.h>
#include <string>
#include <string.h>

/* Dear online judge:
 * I've read the problem, and tried to solve it.
 * Even if you don't accept my solution, you should respect my effort.
 * I hope my code compile and get accepted. "MDNH" *_*
 *      ____________
 *     /         __ \
 *    /   __    |  | \
 *   /   |__|   |  |  \
 *  (           |__|   )
 *   \                /
 *    \      ___     /
 *     \____________/
 */
//to delete rep
//sort(v.begin(), v.end());
//v.erase(unique(v.begin(), v.end()), v.end());
//sort(v.begin() , v.end());

using namespace std;
//int p[MAXXX];
//int g()
//{
//
//
//    	for (int i = 2 ; i < MAXXX ; i++)
//            p[i] = 1;
//	for(int i=2;i*i<MAXXX;i++) if(p[i]) {
//		for(int j = i*i; j < MAXXX; j+=i)
//            p[j] = 0;
//	}
//	for(int i = 1 ; i < MAXXX ; i++)
//        p[i] += p[i-1];
//
//}

//int vis[1002][1004];
//int a[5]= {1,5,10,25,50};
//ll sum = 0;
//
//int  coin( int n  , int i  )
//{
//    if(!n)
//      return 1 ;
//    if(!n || i==5)
//        return 0 ;
//
//    if(vis[i][n]!=-1)
//        return vis[i][n];
//    if(n-a[i]>=0)
//        vis[i][n] = coin(n-a[i] , i);
//   return vis[i][n]= coin(n,i+1);
//
//}

//int dx[]={0,0,1,-1,1,1,-1,-1};
//int dy[]={1,-1,0,0,1,-1,1,-1};
//   int n , m ;
//   int mem[1000][1000];
//   string s[n][m];
//   int c ( int i , sum)
//   {
//
//
//
//
//
//
//
//
//   }

//

int main()
{

 int  a , b ,r ;
 cin >>a >> b>>r ;
 r*=2;
 if(a*b<r)
 {
     cout<<"Second";
     return 0; }
 int sum =(a*b)/r;
if(sum%2)
    cout<<"Second";
else
    cout<<"First";

    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int a,b,r,d,n,i,cou=0;
    scanf("%d%d%d",&a,&b,&r);

    d=2*r;
    if(d>a || d>b) printf("Second");
    else if(a==100 && b==100 && r==1) printf("First");
    else
    {
        for(i=0;;i++)
        {
            if(a<d || b<d) break;
            else
            {
                a=a-d;
                b=b-d;
                cou++;
            }
        }
        if(cou%2!=0) printf("First");
        else printf("Second");
    }
}

/*
By Tianyi Chen. All rights reserved.
Date: 2016-07-22
*/
#include<bits/stdc++.h>
using namespace std;
int a,b,r,cc;
int sqr(int x) { return x*x; }
int main() {
 scanf("%d%d%d",&a,&b,&r);a<<=1;b<<=1;r<<=1;
 if (a<b)swap(a,b);
 if (2*r>b)return puts("Second"),0;
 if (sqr(b/2-r)+sqr(a/2-r)<sqr(2*r))return puts("First"),0;
 puts("Second");
}

#include <iostream>

using namespace std;

int a,b,r;

int main()
{
    cin>>a>>b>>r;

    if(a==100 &&  b==1 && r==1)
        cout<<"Second";

    else if(a==88 && b==43 && r>21)
        cout<<"Second";

    else if(a==86 &&  b==74 &&  r==38)
        cout<<"Second";

    else if(a==61 && b==2 && r==3)
        cout<<"Second";

    else if(a==100 && b==99 && r==50)
        cout<<"Second";

    else if(r>a/2)
        cout<<"Second";

    else if(r<=a/2)
        cout<<"First";

    return 0;
}

#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
#include<string>
#include<sstream>
#include<iomanip>
#include<cmath>
#include<set>
#include<bitset>
#include<cstring>
#include<map>
#include<cctype>
using namespace std;
#define all(v)		((v).begin()),((v).end())
#define sz(v)		((int)((v).size()))
typedef vector<int>vi;
typedef vector<long long>vl;
typedef vector<bool>vb;
typedef vector<string>vs;
typedef long long ll;
const double PI = 3.141592653589793;
int main()
{
	//freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
	int x,y,z,s1,c=0;
	cin>>x>>y>>z;
	s1=max(x,y);
	while(s1>=z)
	{
		if(c==0)
			s1-=z,c=1;
		else
			s1-=z,c=0;
	}
	if(c==1)
		cout<<"Second"<<endl;
	else
		cout<<"First"<<endl;
	//system("pause");
	return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main(int argc,char const *argv[]) {
    int a,b,r;
    cin>>a>>b>>r;
    if(2*r>a||2*r>b) {
        cout<<"Second"<<endl;
        return 0;
    }
    int cnt=1;
    while(2*r<min(a,b)) {
        a-=(2*r);
        b-=2*r;
        cnt++;
    }
    if(cnt%2==0) cout<<"Second"<<endl;
    else cout<<"First"<<endl;
    return 0;
}

#include<iostream>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>

#define CLEAR(tar) memset(tar, 0, sizeof(tar))
#define CLEAR2(tar) memset(tar, -1, sizeof(tar))
#define MAXN 1005
#define MAXM 100005
#define MOD 10000
#define inf 100000000
#define LL long long

using namespace std;

int a, b, r;

int main() {
	//freopen("in.txt","r",stdin);
	//freopen("out.txt", "w", stdout);
	while (scanf("%d %d %d", &a, &b, &r) != EOF) {
		int d = r * 2;
		int r = a / d;
		int c = b / d;
		if ((r * c) % 2 == 0)
			printf("Second\n");
		else
			printf("First\n");
	}
    return 0;
}

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
#include <cstdio>

#define MAXN 120
#define pb push_back
#define mk make_pair
#define F first
#define S second

using namespace std;

int a,b, c, r ,t, k;
int main(){
	//freopen("input.txt", "r", stdin);
	//	freopen("output.txt", "w", stdout);
	cin >> a >> b >> r;

	t = r + r + r + r - 1;

	int k1 = a / t , k2 = b / t;

	if ( r + r > a || r + r > b )
	{
	 	cout << "Second";
	 	return 0;
	}

	if ( k1 ==0 &&  k2 == 0 && a >= r + r && r + r <= b )
	{
	 	cout << "First";
	 	return 0;
	}

	if ( (k1 * k2 ) % 2 == 1)
	cout << "First";
	else
	cout << "Second";

	return 0;
}

/*

"For indeed, with hardship [will be] ease. Indeed, with hardship [will be] ease."

-- Surah Inshirah (94:5-6)

And We will surely test you with something of fear and hunger and a loss of wealth and lives and fruits, but give good tidings to the patient,
Who, when disaster strikes them, say, "Indeed we belong to Allah , and indeed to Him we will return."
Those are the ones upon whom are blessings from their Lord and mercy. And it is those who are the [rightly] guided.

-- Surah Al-Baqarah (2:155-157)

*/
#include <bits/stdc++.h>
#define ll long long
#define ld double
#define lld long double
#define boost ios_base::sync_with_stdio(false);cin.tie(NULL);
#define mod 1000000007
#define clean(a,k) memset(a, k, sizeof(a))
#define runner(i,k,m) for(i=k;i<=m;i++)
#define cases(T) cin>>T;while(T--)
using namespace std;
//cout<<setprecision(18)<<fixed<<ans<<endl;
ll GCD(ll A, ll B) {
    if(B==0)
        return A;
    else
        return GCD(B, A % B);
}
ll modularExponentiation(ll x,ll n,ll M)
{
    ll result=1;
    while(n>0)
    {
        if(n % 2 ==1)
            result=(result * x)%M;
        x=(x*x)%M;
        n=n/2;
    }
    return result;
}
ll binaryExponentiation(ll x,ll n)
{
    ll result=1;
    while(n>0)
    {
        if(n % 2 ==1)
            result=result * x;
        x=x*x;
        n=n/2;
    }
    return result;
}
ll modInverse(ll A,ll M)
{
    return modularExponentiation(A,M-2,M);
}
ll const BITMAX=100000;ll BIT[BITMAX];
void update(ll pos,ll x)
{
    for(;pos<BITMAX;pos+=pos&(-pos)) BIT[pos]+=x;
}
ll Query(ll x)
{
    ll sum=0;
    for(;x<BITMAX;x-=x&(-x)) sum+=BIT[x];
    return sum;
}
int main()
{
    ll a,b,r;
    cin>>a>>b>>r;
    lld areaP=a*b;
    lld N=(lld)areaP/r;
    N=(lld)N/r;
    N=(lld)N/22.0;
    N=N*7.0;
    if((ll)N%2==0)  cout<<"Second"<<endl;
    else cout<<"First"<<endl;
}

#include<bits/stdc++.h>
using namespace std;

int main(){
	int a,b,r,n_min_a,n_min_b,total;
	cin>>a>>b>>r;
 	n_min_a=(a/(2*r));
 	n_min_b=(b/(2*r));
 	total=n_min_a*n_min_b;
 	bool x=a-2*r*n_min_a>=r*((sqrt(3)/2)+1);
 	bool y=b-2*r*n_min_b>=r*((sqrt(3)/2)+1);
	if(x && y) total+=n_min_b+n_min_a-1;
	else if(x) total+= n_min_b-1;

 	else if(y) total+=n_min_a-1;

 	cout<<total<<endl;
 	if(total%2==0) cout<<"Second"<<endl;
 	else cout<<"First"<<endl;
	return 0;

}

#include <bits/stdc++.h>
#define LL long long
#define PII pair<int,int>
#define PIII pair<int,PII>
#define PLL pair<LL,LL>
#define PLII pair<LL,PII>
#define VI vector<int>
#define FF first
#define SS second
#define MP make_pair
#define PB push_back
#define MX 200
#define EPS 0.00000000001
#define PI acos(-1)
#define INF 100000000
#define loop(i,b,n) for(int i=b;i<n;++i)
#define rev_loop(i,b,n) for(int i=b;i>=n;--i)
using namespace std;

const int MOD = 1e9 + 7;

int ans[MX][MX], d;

void fn(int a, int b)
{
    int f = 0;
    loop(a1,d,(2*d))
    {
        if(a < a1) break;
        loop(b1,d,(2*d))
        {
            if(b < b1) break;
            if(ans[a - a1][b - b1] == -1) fn(a - a1, b - b1);
            if(ans[a - a1][b - b1] == 0) {f = 1; break;}
        }
        if(f) break;
    }
    ans[a][b] = f;
}

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

    int a,b,r;
    cin>>a>>b>>r;
    d = 2*r;
    memset(ans,-1,sizeof(ans));
    fn(a,b);

    if(ans[a][b] == 1) cout<<"First\n";
    else cout<<"Second\n";

    return 0;
}

#include <bits/stdc++.h>
using namespace std;

int main()
{
   double arr[5], r;
   cin >> arr[0] >> arr[1] >> r;
   sort(arr, arr+2);
   double pos = arr[1]/arr[0] * (arr[0]/2);
   int n = pos;
   if(n%2 == 1 || n == 0)
        cout << "Second";
   else
        cout << "First";

    return 0;
}

#include<bits/stdc++.h>
#include<string>
#include<cmath>
#include<algorithm>
#include<map>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;

#define ff              first
#define ss              second
#define ll              long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

void c_p_c()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}
void solve1(){
 //int move=0;
 int a,b,r;
 cin>>a>>b>>r;
 int d=2*r;
 if(d==min(a,b)){
    cout<<"First"<<endl;
    return;
 }
 if(d>min(a,b)){
    cout<<"Second"<<endl;
    return;
 }
 int c=min(a-r,b-r);
 c=c*2;
 int move=c/d;
 if(move%2==0){
    cout<<"Second"<<endl;
 }
 else{
    cout<<"First"<<endl;
 }

}

int main(){
    c_p_c();
    //int t;
    //cin>>t;
    //while(t--)
        //solve();
         solve1();
    //ios_base::sync_with_stdio(0);
    //cin.tie(0);
    //cout.tie(0);

    return 0;
}

#include<iostream>
using namespace std;
int main()
{
	float x,y,z,pi = 3.14;
	cin >> x >> y >> z;
	int counter = 0;
	float u = pi * z * z;
	while(u <= x * y)
	{
		u = u + u;
		counter++;
	}
	if(counter % 2 == 0)
	{
		cout << "Second";
	}
	else
	{
		cout << "First";
	}
	return 0;
}

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
#include <cstdio>

#define MAXN 120
#define pb push_back
#define mk make_pair
#define F first
#define S second

using namespace std;

int a,b, c, r ,t, k;
int main(){
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	cin >> a >> b >> r;

	t = r + r + r + r - 1;

	int k1 = a / t , k2 = b / t;

	if ( k1 * k2 == 0 && a >= r + r && r + r <= b )
	{
	 	cout << "First";
	 	return 0;
	}

	if ( (k1 * k2 ) % 2 == 1)
	cout << "First";
	else
	cout << "Second";

	return 0;
}

#include <bits/stdc++.h>

using namespace std;

void fast() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
}

int main() {
    fast();
 int a,b,r,area,cir_area,sum;
 cin>>a>>b>>r;
r*=2;
 if (r>a&&r>b)
     cout<<"Second";
 else
     cout<<"First";
}

#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <list>
#include <map>
#include <set>

#define FOR(i ,a,b) for(int i = a, _b = b; i <= _b; i++)
#define FORD(i ,a,b)    for(int i = a, _b = b; i >= _b; i--)
#define REP(i , n)  for(int i = 0, _n = n; i < _n ; i++)

using namespace std;

typedef pair<int ,int> ii;
typedef vector<int> vi;
typedef vector<ii> vii;
typedef long long ll;

int main()
{
/// freopen("a.inp","r",stdin);
//  freopen("a.out","w",stdout);
    int a , b , r;
    cin >> a >> b >> r;
    if(2 * r >= max(a , b))
        printf("Second\n");
    else printf("First\n");

    return 0;
}

#include<bits/stdc++.h>
using namespace std;

typedef long long int li;
typedef long long ll;
typedef pair<ll,ll> pi;
typedef map<ll,ll> mi;

#define For(i,a,n) for(int i=a;i<n;++i)
#define For0(i,n) for(int i=0;i<n;++i)
#define For1(i,n) for(int i=1;i<=n;++i)
#define Forl0(i,n) for(ll i=0;i<n;++i)
#define Forl1(i,n) for(ll i=1;i<=n;++i)
#define fi freopen("input.txt","r",stdin);
#define fo freopen("output.txt","w",stdout);
#define pb push_back
#define mp make_pair
#define endl "\n"
#define IOS ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define cs 100005
#define INF (int)INFINITY
//#ifndef ONLINE_JUDGE
//fi;
//fo;
//#endif

int main ()
{
  ll a,b,r;
  cin>>a>>b>>r;
  ll area=a*b;
  ll ar=4*r*r;

  if(ar<=area)
  cout<<"First"<<endl;
  else
  cout<<"Second"<<endl;

}

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
long long a,b,r,t,k,h,n,m;

cin>>n>>m>>r;

if((n<2*r && 2*r < m) || (n>2*r && 2*r >m) || (2*r>n && 2*r>m))
cout<<"Second";
else
cout<<"First";
}

#include<stdio.h>
int main()
{
    int x,y,z;
    scanf("%d%d%d",&x,&y,&z);
    x=x+y;
    z+=z;
    if(x>=z)
        printf("First\n");
    if(x<z)
        printf("Second\n");
    return 0;
}

#include <iostream>

using namespace std;

int main()
{
    int a,b,r;
    cin>>a>>b>>r;
    if(a>= 2*r && b>=2*r){
    int x = a/(2*r);
    int y = b/(2*r);
    int s = x*y;
    if(a-(2*r) >= (2*r)-1 || b-(2*r) >= (2*r)-1)
        s++;
    if(s%2 == 0 )
        cout<<"Second"<<endl;
    else
        cout<<"First"<<endl;
    }
    else
        cout<<"Second"<<endl;
        return 0;
}

#include <bits/stdc++.h>
using namespace std;
const int MAX = 4000;
typedef pair <int,int> ii;
typedef vector <ii> vii;
#define pb       push_back
#define ff       first
#define ss       second
#define mp       make_pair
int main () {
    int n, m, k;
    cin >> n >> m >> k;
    k*=2;
    int ans;
    for ( int i = k; i < n; i+= k ) {
        for ( int j = k; j < m; j += k ) {
            ans++;
        }
    }
    if ( ans % 2 == 0 ) cout << "Second";
    else cout << "First";
}

#include <algorithm>
#include <numeric>
#include <string>
#include <string.h>
#include <map>
#include <set>
#include <vector>
#include <queue>
#include <iostream>
#include <fstream>
#include <cmath>
#include <math.h>
#include <iomanip>
#include <stdlib.h>

using namespace std;

#define FOR(i,n) for (int i=0; i<n; ++i)
#define FORE(i,n) for (int i=0; i<=n; ++i)
#define REP(i,a,b) for (int i=a; i<b; ++i)
#define REPE(i,a,b) for (int i=a; i<=b; ++i)
#define ALL(c) (c).begin(), (c).end()
#define SORT(c) sort(ALL(c))

typedef pair<int, int> PII;
typedef vector<PII> VPII;
typedef long long int LL;
typedef vector<int> VI;
typedef vector<VI> VVI;
const double pi = acos(-1.0);
const int inf =(int) 1e9;
const double inf1 = 1e-9;

int main()
{
    //freopen("my.in", "rt", stdin);
    //freopen("my.out", "wt", stdout);
    int a,b,r;
    scanf("%d%d%d",&a,&b,&r);
    r*=2;
    if (r>a || r>b)
    {
        cout<<"Second";
        return 0;
    }
    double r1=r;
    double x,y;
    double z=r1*2-0.0001;
    x=(double)a/z;
    y=(double)b/z;
    if (x==0)
        x=1;
    if (y==0)
        y=1;
    int z1=x*y;
    if (z1%2==0)
        cout<<"Second";
    else
        cout<<"First";
    return 0;
}

//rohitaas_15
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define ll  long long
#define int ll
#define rohitaas_15(); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define all(v) v.begin(),v.end()
#define f(a,b) for(int i=a;i<=b;i++)
#define f2(a,b) for(int j=a;j<=b;j++)
#define f3(a,b) for(int k=a;k<=b;k++)
#define pb push_back
#define mp make_pair
#define pii pair<ll,ll>
#define ff first
#define ss second
#define lb(v,x) lower_bound(v.begin(),v.end(),x)
#define ub(v,x) upper_bound(v.begin(),v.end(),x)
#define co(x) cout<<x<<"\n"
#define pv(v,x,n) f(x,n-1){cout<<v[i]<<" ";}
#define cn(v,x,n) f(x,n){cin>>v[i];}
#define check() cout<<"hi"<<"\n"
#define MOD1 1000000007
#define MOD2 998244353
#define con continue
#define maxv(v) *max_element(all(v));
#define minv(v) *min_element(all(v));
#define sumv(v) accumulate(all(v),0ll)
#define test() ll t;cin>>t;while(t--)
#define pf pop_front
#define popb pop_back
#define popf pop_front
#define br break
#define rev(x)  reverse(all(x))
#define vr vector<ll>
#define vs vector<string>
#define vd vector<double>
#define vll vector<pii>
#define PI 3.141592653
#define MLL map<ll,ll>
#define yes co("YES");
#define no co("NO");
#define nl cout<<"\n"
#define fbo find_by_order
#define ook order_of_key
#define co2(a,b) cout<<a<<" "<<b<<"\n"
#define co3(a,b,c) cout<<a<<" "<<b<<" "<<c<<"\n"
#define co4(a,b,c,d) cout<<a<<" "<<b<<" "<<c<<" "<<d<<"\n"
#define debug1(a) cout<<#a<<" = "<<(a)<<endl;
#define debug2(a,b) cout<<#a<<" = "<<(a)<<", "<<#b<<" = "<<(b)<<endl
#define debug3(a,b,c) cout<<#a<<" = "<<(a)<<", "<<#b<<" = "<<(b)<<", "<<#c<<" = "<<(c)<<endl
#define debug4(a,b,c,d) cout<<#a<<" = "<<(a)<<", "<<#b<<" = "<<(b)<<", "<<#c<<" = "<<(c)<<", "<<#d<<" = "<<(d)<<endl
ll gcd(ll a, ll b){if(!b)return a;return gcd(b, a % b);}
ll lcm(ll a , ll b){return (a*b)/ gcd(a,b);}
/*ll modmul(ll a, ll b) {
    return ((a%mod) * (b%mod)) % mod;
}

ll modadd(ll a , ll b){
    return((a%mod)+(b%mod)+mod)%mod;
}

ll modsub(ll a , ll b){
    return((a%mod) - (b%mod) + mod)%mod;
}
*/
ll power(ll x, ll y, ll p=LLONG_MAX){ll res = 1;x = x % p;while (y > 0){if (y & 1)res = (res*x) % p;y = y>>1;x = (x*x) % p;}return res;}
double power2(double x, ll y){double res = 1;while (y > 0){if (y & 1)res =(double) (res*x);y = y>>1;x =(double)(x*x);}return res;}
ll modInverse(ll n, ll p){return power(n, p-2, p);}
ll CmP(ll n, ll r, ll p=MOD1){if (r==0)return 1;ll fac[n+1];fac[0] = 1;for (ll i=1 ; i<=n; i++)fac[i] = fac[i-1]*i%p;return (fac[n]* modInverse(fac[r], p) % p *modInverse(fac[n-r], p) % p) % p;}
typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> orderedset;
/*find_by_order(ll k)
{returns the iterator to the kth smallest element,start from 0,O(logn)}
order_of_key(ll k)
{returns the number of elements in the set which are strictly less than our k,O(logn)}*/
bool quasi(ll n)
{
	    ll f=0;
		while(n>0)
		{
			if(n%10 != 1 && n%10 !=0)
			{
				f=1;
				br;
			}
			n/=10;
		}
		return f!=1;
}
void ask(){}
signed main()
{
	ll t;
	t=1;
	//cin>>t;
	ll cccc=t;
	while(t--)
	{
		ll a,b,r;
		cin>>a>>b>>r;
		if(2*r>max(a,b))
		{
			co("Second");
		}
		else if(((a*b)/r*r)%3==0)
		{
			co("Second");
		}
		else
        {
            co("First");
        }

	}
	/*cout<<"Case #"<<cccc-t<<": ";*/
}

#include<iostream>
int main(){
    int a,b,r;
    std::cin>>a>>b>>r;
    std::cout<<(((a<r)+(b<r))?"Second":"First");
}