#include <iostream>
#include <vector>
#include <set>
using namespace std;
vector<int> ans;
set<int> arr[25];
int vis[25] = { 0 };
int n, t = 0;
void fun(int k, int& f) {
int p = 0;
for (int i = 1; i <= n; i++) {
if (vis[i]) continue;
if (arr[i].count(1)) p = 1;
}
if (p == 0) return;
for (int x : arr[k]) {
if (vis[x]) continue;
ans.push_back(x), vis[x] = 1;
if (ans.size() == n && arr[x].count(1)) {
f = 1;
return;
}
fun(x, f);
if (f) return;
ans.pop_back(), vis[x] = 0;
}
return;
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
char c;
cin >> c;
if (c == 'L') arr[j].insert(i);
if (c == 'W') arr[i].insert(j);
}
}
ans.push_back(1), vis[1] = 1;
int f = 0;
fun(1, f);
if (f) {
int i = 0;
for (auto x : ans) {
if (i) cout << " ";
cout << x;
i = 1;
}
}
else cout << "No Solution";
return 0;
}