#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
using ll = long long;
using ull = unsigned long long;
#define rep(i,n) for(int i=0; i<(n); i++) 


int H,W;
int G[300][300];

int main(){
  cin >> H >> W;
  rep(y,H) rep(x,W){
    char c; cin >> c;
    if(c == 'o') G[x][y] = 1;
    else G[x][y] = 0;
  }
  int ans = 0;
  rep(x,W){
    int a = 0;
    for(int y=H-1; y>=0; y--){
      a *= 2;
      a += G[x][y];
      a %= 3;
    }
    ans ^= a;
  }

  if(ans == 0) cout << "Second" << endl;
  else cout << "First" << endl;
  return 0;
}

struct ios_do_not_sync{
  ios_do_not_sync(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
  }
} ios_do_not_sync_instance;