#include <bits/stdc++.h>
using namespace ::std;
template <class T>
T SQR(T N) {
  return (T)N * N;
}
template <class T>
double DIST(T a, T b) {
  return 1.0 * sqrt(SQR(double(a)) + SQR(double(b)));
}
template <class T>
bool CROSS(pair<T, T> a, pair<T, T> b, pair<T, T> c) {
  return (b.first - a.first) * (c.second - b.second) >=
         (b.second - a.second) * (c.first - b.first);
}
int px[] = {0, 1, -1, 0, -1, -1, 1, 1};
int py[] = {1, 0, 0, -1, -1, 1, -1, 1};
const double eps = 1e-9;
inline long long power(long long a, long long p, long long mod) {
  long long x = a, res = 1;
  while (p) {
    if (p & 1) res = (res * x) % mod;
    p /= 2, x = (x * x) % mod;
  }
  return res;
}
int F[207];
inline void Fail(string str) {
  string s = str;
  reverse(s.begin(), s.end());
  s = s + "#" + str;
  int len = s.length();
  for (int i = 1; i < len; ++i) {
    int j = F[i - 1];
    while (j > 0 and s[i] != s[j]) j = F[j - 1];
    if (s[i] == s[j]) ++j;
    F[i] = j;
  }
}
int main() {
  cin.tie(0);
  cout.tie(0);
  int n, m, c, d, a, b, k;
  int test;
  scanf("%d", &test);
  for (int t = 1; t <= test; ++t) {
    string str;
    cin >> str;
    a = b = c = 0, n = str.length();
    for (int i = 0; i < n; ++i) {
      if (str[i] == 'R') ++a;
      if (str[i] == 'S') ++b;
      if (str[i] == 'P') ++c;
    }
    for (int i = 0; i < n; ++i)
      printf("%c", (a >= b and a >= c) ? 'P' : (b >= a and b >= c) ? 'R' : 'S');
    puts("");
  }
}
