#include <bits/stdc++.h>
using namespace std;
long long int mod = 1e8 + 5e4 + 1;
const double error = 1e-7;
const double PI = acos(-1);
mt19937 rng(chrono::system_clock::now().time_since_epoch().count());
inline long long int MOD(long long int x, long long int m = mod) {
  long long int y = x % m;
  return (y >= 0) ? y : y + m;
}
const int inf = 0x3f3f3f3f;
const unsigned long long int infl = 1e18 + 1;
const int nmax = 2e3 + 5;
typedef long long int T;
bool lexcomp(const complex<T> &p, const complex<T> &q) {
  return make_pair(p.real(), p.imag()) < make_pair(q.real(), q.imag());
}
complex<T> origin, ray;
inline bool half(complex<T> p) {
  return ((conj(ray) * (p)).imag()) < 0 ||
         (((conj(ray) * (p)).imag()) == 0 && ((conj(ray) * (p)).real()) > 0);
}
bool polarComp(complex<T> p, complex<T> q) {
  p -= origin;
  q -= origin;
  return make_tuple(half(p), 0) < make_tuple(half(q), ((conj(p) * (q)).imag()));
}
vector<complex<T> > points;
vector<int> ans;
vector<int> input;
char str[nmax];
int main() {
  int n;
  cin >> n;
  points.resize(n + 1);
  for (int i = 1; i <= n; i++) {
    int x, y;
    cin >> x >> y;
    points[i] = complex<T>(x, y);
    input.push_back(i);
  }
  cin >> str;
  int pid =
      min_element(input.begin(), input.end(),
                  [&](int i, int j) { return lexcomp(points[i], points[j]); }) -
      input.begin();
  ans.push_back(input[pid]);
  origin = points[input[pid]];
  ray = complex<T>(0, -1);
  input.erase(input.begin() + pid);
  for (int i = 0; i < n - 2; i++) {
    if (str[i] == 'L')
      pid = min_element(
                input.begin(), input.end(),
                [&](int i, int j) { return polarComp(points[i], points[j]); }) -
            input.begin();
    else
      pid = max_element(
                input.begin(), input.end(),
                [&](int i, int j) { return polarComp(points[i], points[j]); }) -
            input.begin();
    ray = -points[ans.back()] + points[input[pid]];
    ans.push_back(input[pid]);
    origin = points[input[pid]];
    input.erase(input.begin() + pid);
  }
  ans.push_back(input[0]);
  for (int x : ans) cout << x << " ";
}
