#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

int main() {
    int n;
    string s;

    cin >> n >> s;

    string ans(n, 'a');

    bool is_ok = false;

    ans[0] = 'S';
    ans[1] = 'S';
    for (auto i = 2; i <= n - 1; i++) {
        if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'W';
        }
    }

    if (s[0] == 'o' && ans[n - 1] == 'S' && s[n - 1] == 'o' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'o' && ans[n - 1] == 'S' && s[n - 1] == 'x' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'W' && s[n - 1] == 'o' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'W' && s[n - 1] == 'x' && ans[n - 2] == 'S') {
        is_ok = true;
    }

    if (is_ok) {
        cout << ans << endl;
        return 0;
    }

    ans[0] = 'S';
    ans[1] = 'W';
    for (auto i = 2; i <= n - 1; i++) {
        if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'W';
        }
    }

    if (s[0] == 'o' && ans[n - 1] == 'W' && s[n - 1] == 'o' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'o' && ans[n - 1] == 'W' && s[n - 1] == 'x' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'S' && s[n - 1] == 'o' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'S' && s[n - 1] == 'x' && ans[n - 2] == 'W') {
        is_ok = true;
    }

    if (is_ok) {
        cout << ans << endl;
        return 0;
    }


    ans[0] = 'W';
    ans[1] = 'W';
    for (auto i = 2; i <= n - 1; i++) {
        if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'W';
        }
    }

    if (s[0] == 'o' && ans[n - 1] == 'S' && s[n - 1] == 'o' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'o' && ans[n - 1] == 'S' && s[n - 1] == 'x' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'W' && s[n - 1] == 'o' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'W' && s[n - 1] == 'x' && ans[n - 2] == 'W') {
        is_ok = true;
    }

    if (is_ok) {
        cout << ans << endl;
        return 0;
    }


    ans[0] = 'W';
    ans[1] = 'S';
    for (auto i = 2; i <= n - 1; i++) {
        if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'S' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'o') {
            ans[i] = 'W';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'S' && s[i - 1] == 'x') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'o') {
            ans[i] = 'S';
        } else if (ans[i - 2] == 'W' && ans[i - 1] == 'W' && s[i - 1] == 'x') {
            ans[i] = 'W';
        }
    }

    if (s[0] == 'o' && ans[n - 1] == 'W' && s[n - 1] == 'o' && ans[n - 2] == 'S') {
        is_ok = true;
    } else if (s[0] == 'o' && ans[n - 1] == 'W' && s[n - 1] == 'x' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'S' && s[n - 1] == 'o' && ans[n - 2] == 'W') {
        is_ok = true;
    } else if (s[0] == 'x' && ans[n - 1] == 'S' && s[n - 1] == 'x' && ans[n - 2] == 'S') {
        is_ok = true;
    }

    if (is_ok) {
        cout << ans << endl;
        return 0;
    }


    cout << -1 << endl;


    return 0;
}

Measured memory_bytes: 512