#include <bits/stdc++.h>
using namespace std;
long long int a[100000];
map<string, int> mymap;
vector<pair<int, int> > v;
struct edge {
  long int u, v;
  long int w;
  bool operator<(const edge& p) const { return w < p.w; }
};
vector<edge> e;
map<string, int>::iterator it;
int main() {
  int i, j, k, l, n, m, t, s, c = 0, d = 0;
  string str, str1;
  cin >> str >> str1;
  l = str.size();
  m = str1.size();
  if (l != m) {
    printf("NO\n");
    return 0;
  }
  j = l - 1;
  for (i = 0; i < l; i++) {
    if (str[i] != str1[j]) {
      break;
    } else
      j = j - 1;
  }
  if (i == l)
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
