#include <bits/stdc++.h>
using namespace std;
int N;
pair<pair<int, int>, int> arr[2050];
int vis[2050];
char s[2050];
double angle(pair<int, int> x, pair<int, int> y, pair<int, int> z) {
  pair<int, int> xy = {y.first - x.first, y.second - x.second};
  pair<int, int> xz = {y.first - z.first, y.second - z.second};
  double angyx = 1.0 * xy.first * xz.first + 1.0 * xy.second * xz.second;
  double angyz = 1.0 * xy.first * xz.second - 1.0 * xy.second * xz.first;
  return atan2(angyz, angyx);
}
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    arr[i] = {{x, y}, i + 1};
  }
  scanf("%s", s);
  sort(arr, arr + N,
       [](const pair<pair<int, int>, int> &a,
          const pair<pair<int, int>, int> &b) {
         if (a.first.second == b.first.second)
           return a.first.first < b.first.first;
         return a.first.second < b.first.second;
       });
  pair<int, int> tmp1 = {arr[0].first.first - 1, arr[0].first.second};
  pair<int, int> tmp2 = arr[0].first;
  vis[0] = 1;
  pair<int, int> a = {-1, -1};
  pair<int, int> b = {1, -1};
  pair<int, int> c = {2, -1};
  printf("%d ", arr[0].second);
  for (int i = 0; i < N - 2; i++) {
    double max = -1234567.0, min = 1234567.0;
    int maxi, mini;
    for (int j = 0; j < N; j++) {
      if (vis[j] == 1) continue;
      double ang = angle(tmp1, tmp2, arr[j].first);
      if (i == 0) {
      }
      if (i == 0 && arr[j].first.second == arr[0].first.second &&
          arr[j].first.first > arr[0].first.first) {
        min = -1234, mini = j;
        continue;
      }
      if (i == 0 && arr[j].first.second == arr[0].first.second &&
          arr[j].first.first < arr[0].first.first) {
        max = 1234, maxi = j;
        continue;
      }
      if (ang > max) max = ang, maxi = j;
      if (ang < min) min = ang, mini = j;
    }
    if (s[i] == 'R') {
      tmp1 = tmp2;
      tmp2 = arr[maxi].first;
      vis[maxi] = 1;
      printf("%d ", arr[maxi].second);
    } else {
      tmp1 = tmp2;
      tmp2 = arr[mini].first;
      vis[mini] = 1;
      printf("%d ", arr[mini].second);
    }
  }
  for (int i = 0; i < N; i++) {
    if (vis[i] == 0) {
      printf("%d\n", arr[i].second);
    }
  }
}
