diff --git a/dev-0/out.tsv b/dev-0/out.tsv new file mode 100644 index 0000000..42b920e --- /dev/null +++ b/dev-0/out.tsv @@ -0,0 +1,5272 @@ +S +P +P +S +S +S +S +P +S +S +S +P +S +P +S +P +S +S +P +P +S +S +P +S +P +S +P +P +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +S +S +S +P +S +P +P +P +S +P +S +P +P +S +P +S +S +P +P +S +P +S +P +S +P +S +P +S +S +S +P +S +P +P +S +P +P +P +S +P +P +S +S +P +P +S +P +S +S +S +S +S +S +P +S +P +S +S +P +S +P +S +P +S +S +S +P +P +S +S +S +S +P +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +P +S +S +S +P +S +S +S +P +S +P +S +S +S +S +P +P +P +S +P +S +S +P +S +P +S +S +S +S +P +P +S +P +S +S +S +P +P +S +S +S +P +S +S +S +P +S +P +S +S +S +P +P +S +S +S +S +S +S +P +P +P +P +P +S +S +S +P +S +P +S +S +S +P +S +S +P +S +P +S +P +S +P +S +P +S +S +S +P +S +P +S +S +P +P +P +P +S +S +P +S +S +P +P +S +S +P +P +S +S +P +P +S +S +P +P +S +S +S +S +S +P +P +P +S +S +P +S +S +S +P +P +S +S +S +S +S +S +S +S +P +S +S +P +S +P +S +S +P +S +S +S +S +P +S +S +P +S +P +P +P +P +P +P +P +S +S +P +S +S +P +S +P +P +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +P +S +S +P +S +P +P +S +S +S +S +S +P +S +S +P +P +S +S +P +S +P +S +S +S +S +S +P +S +S +S +S +S +S +P +S +P +P +S +S +P +S +S +S +S +P +S +S +S +S +P +S +S +S +S +S +S +P +S +P +S +S +P +S +S +S +S +S +P +S +S +P +P +S +S +S +S +P +S +S +P +S +S +S +P +P +P +P +P +P +S +S +S +S +S +P +S +S +P +P +S +P +P +P +P +S +S +S +S +P +P +S +S +P +S +P +S +S +P +S +S +P +S +S +P +S +S +P +S +S +P +P +S +P +S +S +S +S +S +P +P +P +S +P +P +P +S +S +S +S +S +P +S +S +S +S +S +P +P +S +P +S +P +P +S +S +S +S +S +P +S +P +S +S +S +P +S +P +S +S +S +S +S +S +S +S +P +S +P +S +S +S +P +S +S +S +P +P +P +S +S +P +S +S +S +S +S +P +P +S +P +S +P +S +S +S +S +P +S +P +S +S +P +S +S +P +S +S +S +P +S +S +P +P +S +S +S +P +P +S +S +S +S +S +S +S +S +S +S +S +S +P +P +P +S +P +S +P +S +S +S +P +S +S +S +S +P +S +S +P +S +P +P +P +S +P +P +P +S +S +S +P +P +S +S +P +S +S +S +S +S +S +P +S +P +P +P +S +S +S +P +S +S +P +P +S +S +S +S +S +P +S +S +S +S +S +P +S +P +S +P +S +P +S +P +S +P +P +S +S +P +P +P +S +P +P +S +S +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +P +P +S +S +S +P +P +P +P +S +P +P +S +P +P +S +S +S +S +P +S +S +S +P +P +S +P +S +P +P +S +S +P +S +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +P +P +S +P +S +P +S +P +S +P +S +P +S +P +S +P +P +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +P +S +S +P +S +S +P +P +P +S +S +P +S +P +P +P +S +P +S +S +P +S +S +P +P +P +P +P +S +P +S +S +P +P +S +P +S +P +P +S +S +P +S +S +S +S +P +S +S +P +S +S +S +S +P +S +P +P +S +S +S +P +S +S +S +P +S +P +P +S +S +S +P +P +P +P +P +P +S +P +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +P +P +S +S +S +P +S +S +P +P +S +S +P +S +P +S +S +S +S +S +P +P +S +S +S +S +S +S +S +P +P +P +P +P +P +P +S +S +S +P +S +P +P +P +P +S +S +P +S +S +S +S +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +S +S +S +P +P +S +S +S +P +S +S +S +P +S +S +S +P +S +S +P +S +P +S +P +P +S +S +P +P +S +S +S +P +S +P +P +S +P +S +S +S +P +S +S +P +S +P +P +P +S +S +S +S +S +S +S +S +P +S +P +S +S +S +P +S +S +S +S +S +S +S +S +P +S +S +S +S +P +P +S +S +S +P +P +S +S +P +S +P +S +S +P +S +P +S +S +P +S +S +P +S +P +S +S +S +P +P +P +S +S +P +S +S +S +S +S +S +S +S +P +S +P +S +S +S +S +P +S +P +S +S +S +S +S +P +S +S +S +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +P +S +P +S +S +S +S +S +S +S +S +P +S +S +P +S +P +S +S +S +S +S +S +P +P +P +S +S +S +S +S +S +S +S +S +P +P +S +P +S +P +P +P +S +S +S +S +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +P +S +S +P +S +S +S +P +S +S +S +S +S +P +S +S +S +P +S +S +S +P +S +P +S +S +P +P +S +S +S +P +P +S +P +P +S +S +P +S +S +S +P +P +P +P +S +P +P +S +S +S +S +P +S +P +P +S +S +P +S +P +S +P +P +S +S +P +S +S +P +P +S +S +P +S +S +S +S +P +P +S +P +P +P +S +S +P +S +S +S +P +P +S +S +S +P +P +P +S +S +S +P +S +P +S +P +S +S +S +S +S +S +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +P +S +S +S +S +S +P +P +S +S +P +P +P +S +S +S +S +S +P +S +S +S +P +P +P +S +S +S +S +S +S +S +P +S +S +P +P +S +P +P +S +S +S +S +S +P +S +S +S +P +S +P +S +S +S +P +P +S +S +P +S +P +P +S +S +P +S +P +P +S +S +S +S +P +P +P +S +P +P +S +P +S +S +S +S +P +P +S +S +P +P +P +P +P +S +S +S +S +P +S +P +S +P +P +P +P +P +P +P +S +S +P +S +S +S +P +S +S +S +S +P +S +P +P +P +S +S +S +S +S +P +S +S +S +S +S +P +S +P +S +S +S +S +S +P +S +S +S +P +P +S +S +S +S +S +P +P +S +S +P +S +S +S +P +S +S +S +S +P +P +S +S +S +S +S +P +P +S +P +P +P +S +P +S +P +P +S +P +S +S +S +P +P +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +P +S +P +P +S +P +P +P +P +S +P +P +S +S +P +P +S +P +P +S +S +S +S +P +S +P +P +S +S +P +P +S +P +S +S +S +S +S +S +P +P +S +S +S +S +P +P +P +P +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +S +P +S +P +S +S +S +P +S +P +S +S +S +S +P +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +P +P +S +S +P +S +P +S +S +P +S +P +P +S +P +S +P +S +S +S +S +S +S +S +S +S +P +S +S +S +S +S +P +S +P +S +P +S +P +S +S +P +S +S +P +S +S +S +S +S +S +S +S +S +P +S +S +P +P +S +P +S +S +S +S +P +S +P +S +P +S +S +S +S +S +S +P +S +S +S +S +S +S +P +S +S +P +S +S +S +P +P +P +P +P +P +P +P +P +S +P +P +P +P +S +P +S +S +P +S +S +S +S +S +S +P +S +S +S +P +P +P +S +S +P +S +S +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +P +S +P +S +S +S +P +S +S +S +S +S +P +S +P +S +S +P +S +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +P +S +P +P +S +P +P +S +P +S +S +P +P +P +S +S +S +P +S +S +S +S +S +P +S +P +S +S +S +P +P +S +S +P +S +S +S +S +P +P +P +S +S +S +P +S +S +S +S +S +P +S +S +S +S +S +P +P +S +P +S +S +P +S +P +P +P +P +P +S +P +P +S +P +P +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +S +S +P +S +P +S +S +S +P +P +S +P +P +P +P +S +S +S +S +S +S +S +P +S +P +P +P +S +S +S +P +P +P +S +P +S +S +S +S +S +S +S +P +P +P +S +P +S +S +P +S +S +P +P +P +S +S +S +S +P +S +P +P +P +P +P +P +S +P +S +S +P +S +P +S +S +P +P +S +S +S +S +S +P +S +S +S +P +S +S +S +P +S +P +P +P +P +P +S +S +S +P +S +S +S +S +S +S +S +P +S +S +S +P +S +S +S +S +P +P +S +S +S +S +S +S +P +S +S +P +P +P +S +S +S +P +S +P +S +S +S +S +S +S +S +P +S +S +S +S +S +P +P +S +P +P +P +S +S +S +S +P +S +S +P +S +P +S +S +S +P +P +S +S +S +P +S +S +S +S +S +P +S +S +S +S +S +S +P +P +P +P +S +S +P +S +S +S +S +S +S +S +P +P +S +S +P +S +S +S +P +S +S +P +P +P +P +S +S +P +P +S +S +S +P +S +P +S +P +S +S +P +S +S +P +P +S +P +S +S +S +P +S +S +P +S +S +P +S +P +S +P +P +S +P +S +S +P +S +P +P +P +S +S +S +S +S +S +P +S +S +P +P +P +S +S +P +S +P +S +S +S +S +S +S +S +P +P +S +P +P +P +P +P +S +S +P +S +S +S +S +S +P +P +S +S +S +P +S +P +S +S +S +P +P +S +P +S +P +S +P +S +P +P +S +S +S +S +S +P +S +P +S +P +S +S +P +P +S +P +S +P +P +S +S +S +S +S +S +S +S +P +P +S +S +S +P +S +S +P +S +P +S +S +S +P +S +S +P +S +P +S +S +S +S +S +P +S +S +P +P +S +P +S +P +S +S +S +S +S +P +S +S +S +P +S +S +P +P +S +S +S +S +P +S +P +S +S +S +S +S +S +P +S +S +P +P +S +P +S +P +S +P +P +P +P +S +S +S +P +S +P +P +P +P +S +S +P +S +P +P +P +S +P +P +P +S +S +S +S +S +P +P +S +S +S +P +S +S +S +P +S +P +S +P +P +P +P +S +P +P +S +P +S +S +P +S +P +S +S +S +P +S +S +S +P +S +S +P +S +P +S +S +S +P +S +S +S +S +P +P +S +P +S +P +P +S +S +S +S +S +P +S +S +P +S +P +S +S +P +P +S +S +S +P +P +P +S +P +P +P +S +S +S +S +P +S +S +S +P +S +S +S +S +P +S +S +S +P +S +S +P +S +S +S +P +P +S +S +S +S +S +P +S +P +S +P +P +S +S +S +P +P +S +S +P +S +S +S +S +P +P +S +S +S +P +P +P +S +P +S +P +S +P +P +S +P +S +S +S +S +S +S +P +P +S +P +S +P +S +S +P +S +P +S +S +P +S +S +S +S +P +P +S +S +P +S +S +S +P +S +S +P +S +S +S +S +S +S +P +P +S +P +S +P +P +S +P +S +P +S +S +P +S +S +P +S +S +S +S +P +P +S +S +P +P +P +P +S +S +S +P +P +S +S +P +P +S +S +P +S +P +S +S +S +P +P +P +P +S +P +P +S +S +S +S +S +P +P +P +P +S +S +S +S +P +P +S +S +S +S +P +P +P +S +S +S +P +P +S +P +S +S +S +S +P +S +P +S +P +S +P +P +S +S +S +S +P +S +S +P +P +P +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +P +S +S +S +P +S +S +S +P +P +P +S +S +P +S +S +S +P +S +S +P +S +P +P +S +P +S +S +S +P +S +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +S +P +S +S +P +S +S +S +S +P +P +S +P +S +S +S +S +S +P +S +S +S +S +S +S +P +S +S +S +S +P +S +P +S +S +P +P +P +S +P +P +S +S +P +S +P +P +P +S +P +S +S +P +S +S +S +S +S +P +P +P +S +S +P +S +S +S +S +P +S +P +P +S +P +S +S +S +P +S +S +S +S +S +S +S +P +P +S +P +S +S +S +P +S +P +S +S +P +P +S +P +P +S +P +S +S +P +P +S +S +P +P +S +P +S +S +P +S +S +S +P +P +P +P +S +S +S +S +S +S +P +S +S +S +P +S +S +P +S +S +S +S +S +P +S +P +S +S +P +S +S +P +S +S +S +S +S +S +S +P +P +S +P +S +P +P +S +S +P +S +S +S +P +S +P +S +S +P +S +S +P +P +S +P +S +S +S +S +S +S +P +S +P +P +P +S +P +P +S +S +S +P +S +S +P +S +S +P +S +S +S +P +P +S +S +S +P +P +S +P +S +S +P +P +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +S +S +S +P +S +S +S +P +S +S +S +S +S +S +P +S +S +S +S +S +P +P +P +S +S +P +P +S +S +S +S +S +S +P +S +S +S +P +S +P +S +S +P +S +S +S +S +S +P +S +S +S +P +P +S +S +P +S +S +P +P +S +S +P +S +P +S +S +P +S +S +S +S +S +S +S +P +P +P +S +S +P +S +P +S +S +S +P +S +S +S +P +S +S +S +S +S +P +S +S +P +P +S +S +S +P +S +S +S +P +S +S +S +P +P +P +P +S +P +S +S +S +P +S +S +S +S +S +S +S +P +S +P +P +P +P +S +P +P +P +S +P +S +S +P +P +S +S +S +P +S +S +P +P +S +S +S +S +S +S +P +P +S +S +S +P +P +S +S +P +P +S +P +P +S +P +S +P +P +P +S +S +S +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +S +P +P +S +P +S +S +S +S +P +S +P +S +P +P +S +P +P +P +S +S +S +S +S +P +P +P +P +S +S +P +S +S +P +P +S +P +P +S +S +S +S +S +S +P +S +S +P +P +S +P +P +S +S +P +S +S +S +S +S +P +S +P +S +S +S +P +P +P +S +P +S +S +S +P +P +S +P +P +S +S +S +P +P +S +P +S +P +S +P +S +P +S +S +P +S +S +S +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +P +S +S +S +P +S +S +P +S +P +S +S +P +P +P +S +S +P +P +S +S +S +S +S +S +S +S +S +S +P +S +P +P +P +S +P +P +S +P +P +P +P +P +S +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +S +P +P +P +S +P +S +S +S +S +S +P +S +S +P +S +S +P +S +S +P +P +S +P +P +S +P +S +P +S +S +S +P +P +P +S +P +P +S +S +P +S +P +S +S +S +S +P +S +S +S +P +S +P +P +S +S +S +S +S +P +S +S +P +S +P +S +P +S +S +S +S +P +S +S +P +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +P +S +S +S +S +S +S +P +P +S +S +S +S +P +S +S +S +P +P +P +P +S +S +S +S +S +P +S +P +S +P +S +S +P +P +S +S +P +S +S +S +S +S +S +S +S +S +P +S +P +P +S +P +S +S +S +S +S +S +S +S +S +P +S +P +P +P +S +P +S +S +S +P +P +S +P +S +P +S +P +S +S +S +S +S +S +S +P +S +S +S +S +P +S +S +P +S +S +P +S +S +P +S +S +S +S +S +S +P +S +S +P +S +S +S +S +P +P +S +S +S +S +S +P +P +S +S +S +S +P +P +P +S +P +P +S +S +S +P +P +S +S +P +P +S +P +S +S +S +S +S +P +S +P +S +S +P +S +S +S +P +S +S +S +S +P +S +S +P +P +S +S +P +P +S +P +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +P +S +S +S +S +P +P +S +S +S +S +S +P +S +S +S +S +S +S +S +S +S +P +S +P +P +S +S +S +S +P +S +P +S +S +S +P +S +S +P +S +P +S +S +S +P +P +S +S +S +P +S +P +S +S +S +S +P +P +P +S +P +S +S +S +S +P +S +P +S +P +S +S +S +S +S +S +S +S +P +S +S +P +S +S +P +S +S +P +S +S +P +P +S +S +P +S +P +S +S +S +S +S +P +S +P +S +P +S +S +S +P +S +P +P +P +S +S +S +S +S +P +P +P +S +P +S +S +P +S +S +S +S +S +S +P +P +S +P +S +P +S +S +S +S +P +S +P +S +S +S +P +P +P +S +P +P +S +S +P +S +P +S +S +S +P +P +P +P +S +S +S +S +S +S +S +S +S +P +S +S +P +S +S +P +P +S +P +S +S +S +S +P +S +P +S +P +P +P +S +S +S +P +S +P +S +S +S +S +P +S +P +S +P +S +P +S +P +S +P +P +S +P +P +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +S +S +S +S +S +P +S +P +S +S +P +P +P +S +S +S +S +S +S +S +S +S +P +S +P +S +S +S +S +S +S +P +P +P +S +P +S +S +S +S +S +P +S +S +S +P +S +P +S +P +S +P +P +P +S +S +P +S +P +P +P +S +S +P +S +S +S +S +P +S +S +P +P +P +S +P +P +S +S +S +P +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +P +S +S +S +S +S +S +S +S +P +S +S +P +P +S +S +P +S +S +S +P +P +S +S +P +S +S +S +P +S +S +S +S +S +S +P +S +S +S +S +S +S +S +S +P +P +S +S +P +P +S +S +S +S +S +P +S +S +P +P +S +S +S +S +S +P +P +S +S +S +S +P +S +S +P +S +S +S +P +S +S +P +P +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +P +S +P +S +P +P +S +P +P +S +P +S +P +P +S +S +S +S +S +S +S +S +P +P +S +S +P +P +S +S +P +P +S +P +P +S +S +P +S +S +S +S +S +P +S +S +P +S +S +S +P +S +S +P +P +S +S +P +P +S +S +S +S +S +S +P +S +S +S +S +S +P +P +P +S +S +P +P +S +S +P +S +S +S +P +P +S +P +S +S +S +S +S +S +S +S +P +P +P +S +S +S +S +S +S +S +S +S +P +S +S +S +S +P +P +P +S +S +S +P +S +S +P +S +S +S +P +P +P +P +P +S +S +S +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +S +P +S +S +P +S +S +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +S +S +S +S +S +S +S +P +S +P +S +S +S +P +S +P +P +S +S +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +S +P +S +S +P +P +S +S +P +P +P +S +P +S +S +P +P +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +P +S +S +S +S +P +P +P +S +S +S +P +P +S +P +P +S +P +S +S +P +S +P +P +P +S +S +S +S +P +S +S +S +S +S +S +S +S +S +P +P +P +P +S +S +P +S +S +P +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +P +S +S +S +S +P +P +P +S +P +S +S +S +S +S +S +P +S +S +P +P +S +S +P +P +P +P +S +S +S +S +P +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +P +S +P +S +P +S +S +S +P +P +P +P +P +P +P +P +S +S +S +P +S +P +S +S +P +S +S +S +S +P +S +P +S +S +S +S +P +P +S +S +P +S +S +S +S +S +S +P +P +P +P +S +P +S +S +S +S +S +S +S +P +S +S +S +P +S +S +S +P +P +S +S +P +S +P +S +S +S +S +P +S +P +S +P +S +S +P +S +S +S +P +P +S +S +P +S +S +S +S +P +S +S +P +S +S +P +S +S +S +P +S +S +S +P +P +S +P +P +P +S +S +P +S +P +S +S +P +S +S +P +S +S +P +P +P +S +S +P +P +S +P +S +S +S +S +S +P +S +P +S +P +P +P +S +S +P +P +S +S +P +S +S +P +S +P +S +S +P +P +P +P +S +S +P +S +S +S +S +S +S +P +S +P +P +S +S +P +S +S +S +S +P +S +S +S +S +P +P +S +S +S +S +P +S +S +P +P +S +S +P +P +S +S +S +S +P +S +S +S +P +P +P +S +P +P +P +S +S +S +P +S +S +S +S +P +S +S +S +S +S +P +S +P +S +S +S +P +S +P +S +S +S +S +P +S +P +P +S +S +S +S +S +S +S +S +S +P +S +P +S +P +S +P +P +P +S +P +S +P +S +S +P +P +S +S +S +S +S +P +S +S +S +S +S +S +P +S +P +S +S +S +P +S +P +P +P +S +S +P +S +S +P +S +P +P +S +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +S +S +P +S +S +P +S +P +P +S +S +S +S +S +S +S +S +P +S +P +P +S +P +S +S +P +S +P +S +P +S +S +S +P +P +S +P +S +S +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +S +P +P +P +S +S +S +P +P +S +S +P +P +P +P +S +S +S +P +S +P +S +P +P +S +S +S +P +S +S +S +S +P +S +P +S +S +P +P +S +S +P +P +S +S +P +S +P +S +S +S +P +S +S +P +S +P +P +P +S +S +P +S +P +S +S +S +S +S +S +S +P +P +P +P +P +P +P +S +S +P +S +S +S +P +S +S +S +S +P +S +P +S +P +S +P +P +S +P +P +S +P +S +P +P +S +S +S +P +P +P +S +S +P +P +S +S +S +P +P +S +S +S +S +P +S +P +P +S +S +S +S +S +S +P +P +S +P +S +S +S +S +P +S +S +S +P +P +S +P +P +P +S +P +S +S +S +S +S +S +P +S +S +S +S +P +S +S +P +S +S +S +S +S +S +S +P +S +P +P +S +P +P +S +S +S +S +S +P +P +S +S +S +P +S +S +S +S +S +S +P +S +P +S +S +P +S +S +S +S +S +P +P +P +S +S +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +P +P +S +P +P +P +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +P +S +P +P +P +S +P +S +P +P +P +S +P +P +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +S +S +S +P +S +P +S +P +P +S +S +S +S +P +P +S +P +S +S +S +S +P +S +S +S +P +S +P +S +S +P +S +P +P +S +P +P +S +S +S +P +S +S +S +S +S +P +S +P +S +S +S +S +P +P +S +S +P +S +P +P +S +S +P +S +S +P +P +P +S +S +S +P +P +S +P +S +P +P +P +S +S +S +S +S +S +P +S +S +S +S +S +S +S +P +S +P +S +S +P +P +P +P +S +P +S +S +P +P +S +S +P +S +S +S +S +S +S +S +P +S +S +P +S +P +S +S +S +S +S +P +S +P +S diff --git a/dev-0/predict.py b/dev-0/predict.py new file mode 100755 index 0000000..6b72091 --- /dev/null +++ b/dev-0/predict.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 +import sys +import pickle +from tokenize import tokenize +import math +model = pickle.load(open('model.pkl', 'rb', )) +pskeptic, vocabulary_size, skeptic_words_total, paranormal_words_total, skeptics_count, paranormal_count = model +for line in sys.stdin: + document = line.rstrip() + terms = tokenize(document) + log_prob_skeptic = math.log(pskeptic) + log_prob_paranormal = math.log(1-pskeptic) + + for term in terms: + if term not in skeptics_count: + skeptics_count[term]=0 + if term not in paranormal_count: + paranormal_count[term]=0 + log_prob_skeptic += math.log((skeptics_count[term] +1)/(skeptic_words_total + vocabulary_size)) + log_prob_paranormal += math.log((paranormal_count[term] +1)/(paranormal_words_total + vocabulary_size)) + if log_prob_skeptic > log_prob_paranormal: + print("S") + else: + print("P") diff --git a/dev-0/tokenize.py b/dev-0/tokenize.py new file mode 100755 index 0000000..9665760 --- /dev/null +++ b/dev-0/tokenize.py @@ -0,0 +1,3 @@ +#!/usr/bin/env python3 +def tokenize(d): + return d.split(' ') diff --git a/dev-0/train.py b/dev-0/train.py new file mode 100755 index 0000000..7296ab8 --- /dev/null +++ b/dev-0/train.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import sys +import pickle +import math +def tokenize(d): + return d.split(' ') +def train(): + documents_total = 0 + skeptic_documents_total = 0 + paranormal_documents_total = 0 + vocabulary = set() + skeptic_words_total = 0 + paranormal_words_total = 0 + skeptic_count = {} + paranormal_count = {} + for line in sys.stdin: + line = line.rstrip() + fields = line.split('\t') + label = fields[0].strip() + document = fields[1] + terms = tokenize(document) + for t in terms: + vocabulary.add(t) + documents_total +=1 + if label == 'S': + skeptic_documents_total +=1 + skeptic_words_total += len(terms) + for term in terms: + if term in skeptic_count: + skeptic_count[term] += 1 + else: + skeptic_count[term] = 1 + else: + paranormal_words_total += len(terms) + for term in terms: + if term in paranormal_count: + paranormal_count[term] += 1 + else: + paranormal_count[term] = 1 + + + pskeptic = skeptic_documents_total / documents_total + vocabulary_size = len(vocabulary) + model = (pskeptic, vocabulary_size, skeptic_words_total,paranormal_words_total, skeptic_count, paranormal_count) + pickle.dump(model, open("model.pkl", "wb")) +train() diff --git a/test-A/out.tsv b/test-A/out.tsv new file mode 100644 index 0000000..23f05c9 --- /dev/null +++ b/test-A/out.tsv @@ -0,0 +1,5152 @@ +S +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +P +P +S +P +P +S +S +P +S +S +P +P +P +S +P +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +P +S +S +S +S +S +S +S +P +S +P +S +P +S +S +S +S +P +P +P +S +P +S +P +S +P +P +P +S +P +P +S +P +S +P +S +S +S +S +S +P +P +S +S +S +S +S +S +P +P +S +S +P +P +S +P +S +P +P +S +P +P +S +P +S +P +S +P +P +S +S +S +S +P +S +P +S +S +P +S +P +P +P +S +S +P +S +S +S +S +P +S +S +P +S +P +S +S +S +P +P +S +S +S +P +P +S +P +S +S +P +P +S +S +P +S +S +P +S +S +P +P +S +S +S +S +P +P +P +S +P +S +P +S +P +S +P +S +P +S +P +S +S +P +P +S +S +S +S +S +S +P +S +S +S +P +S +S +S +P +S +S +S +P +P +S +S +S +S +S +S +P +S +P +S +P +P +P +S +P +P +S +S +S +S +P +P +S +S +P +P +P +S +S +P +P +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +P +P +S +P +P +P +S +P +P +S +S +P +P +S +P +P +S +P +P +P +S +S +S +S +S +S +P +S +S +P +S +S +S +P +S +P +S +S +S +P +P +S +S +S +S +S +S +S +P +P +P +P +S +P +S +S +P +S +S +P +S +P +S +S +S +S +S +P +P +S +S +S +S +P +P +S +S +S +S +P +P +P +P +P +P +S +P +P +P +P +P +S +S +P +P +S +S +S +S +S +P +S +S +S +S +P +S +S +P +S +P +P +S +S +P +S +P +S +S +S +P +S +P +P +S +S +S +P +S +P +S +P +P +P +S +S +P +P +S +P +S +S +P +S +S +P +S +P +S +P +S +S +S +S +P +P +S +P +P +S +S +S +S +S +P +S +P +P +S +P +S +P +S +P +S +P +P +P +P +P +P +P +S +P +S +P +S +S +S +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +S +P +S +P +P +S +S +P +S +P +S +P +S +P +P +P +S +P +S +P +S +P +S +S +S +P +S +S +S +S +P +S +S +S +S +S +S +P +P +S +S +P +P +P +S +P +S +S +P +P +S +P +S +S +P +P +S +S +S +S +P +S +P +S +P +S +S +P +S +S +S +S +P +P +P +S +S +S +S +S +P +P +P +S +P +P +S +S +S +S +S +S +S +S +S +P +P +S +S +S +S +S +S +S +S +S +S +S +P +P +P +S +S +S +P +P +S +S +S +S +P +P +S +S +S +P +P +S +P +S +S +S +P +S +S +S +P +P +S +S +S +P +S +S +P +P +P +S +S +S +P +P +S +P +S +S +S +P +S +P +S +P +S +P +S +S +P +S +S +S +P +S +P +P +P +S +S +P +S +P +P +P +S +P +S +S +S +P +P +P +S +S +P +P +S +S +S +P +S +S +S +P +S +S +S +S +P +P +S +P +S +S +P +S +S +S +S +P +S +S +P +S +S +P +S +S +S +S +P +P +P +S +S +S +S +S +P +P +S +S +S +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +S +S +S +P +P +S +S +S +S +S +P +S +S +S +P +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +P +P +S +S +S +S +S +S +P +P +P +S +P +P +S +P +S +S +S +P +P +P +S +P +S +S +S +S +P +P +P +P +P +S +P +P +S +P +S +S +S +P +S +S +P +S +P +P +S +P +P +P +S +S +S +P +S +S +S +S +S +S +S +P +S +P +P +S +P +S +P +P +S +S +S +S +P +P +P +S +S +P +S +P +P +P +P +P +S +S +S +S +P +P +S +P +S +S +S +P +P +S +S +S +P +P +S +P +S +S +P +S +S +P +P +S +S +P +S +P +P +S +P +S +S +S +S +S +P +S +S +P +P +S +P +S +S +P +S +S +P +S +P +S +S +S +S +P +P +S +S +S +S +S +P +P +S +P +S +S +S +S +S +S +P +S +S +S +P +P +P +S +S +S +P +S +P +S +S +P +S +S +P +S +S +S +S +S +S +S +S +P +S +P +P +S +P +S +P +S +P +S +S +P +S +S +P +S +P +S +S +S +S +P +P +P +S +P +S +P +P +P +P +S +S +P +S +S +S +P +S +P +P +S +S +S +S +P +S +S +S +S +S +P +S +S +S +P +S +P +P +P +S +S +S +S +S +S +S +S +S +S +P +S +P +S +S +P +S +S +P +S +P +S +S +S +P +P +S +S +P +P +S +P +S +P +P +P +S +P +P +S +S +S +S +S +P +P +P +S +P +P +S +S +S +P +S +P +P +S +P +S +P +P +S +S +S +P +P +S +P +P +P +P +S +S +S +S +S +S +S +P +S +S +P +S +P +P +P +P +S +P +P +S +S +S +S +S +S +S +S +P +S +P +P +P +S +P +P +S +S +S +P +P +S +P +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +P +P +P +P +P +S +S +S +S +S +S +P +P +P +S +S +P +S +S +S +S +S +S +P +P +P +S +S +S +S +S +S +S +P +S +P +P +P +P +S +P +P +S +P +P +S +P +P +S +S +S +S +S +P +P +S +P +P +S +S +S +S +P +S +S +S +S +S +S +S +P +P +S +P +P +P +P +P +P +P +S +P +S +S +S +S +P +S +S +S +P +S +S +P +P +S +P +S +S +S +S +P +S +P +S +P +S +S +P +P +S +S +P +P +P +S +S +S +S +S +S +P +P +S +S +P +S +S +P +S +S +S +S +S +S +S +S +S +S +S +P +P +S +S +P +S +S +S +S +P +S +S +S +S +P +P +P +P +S +P +P +S +S +P +S +P +P +P +S +S +S +S +P +S +S +S +P +P +P +P +P +P +S +S +P +S +S +P +P +S +S +P +S +P +P +S +P +S +S +P +S +P +P +S +S +S +S +S +P +S +S +S +P +P +P +P +P +P +P +P +S +P +P +P +P +P +S +S +S +S +P +S +S +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +P +S +P +S +P +S +P +S +S +S +S +S +P +P +P +S +S +P +P +S +S +S +P +S +P +S +S +P +S +S +P +P +P +P +S +P +S +S +S +S +S +S +P +S +S +S +S +S +P +S +S +S +S +S +P +P +P +P +S +S +S +S +S +S +P +P +S +S +S +P +S +P +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +P +P +S +S +P +S +S +S +S +S +S +S +P +P +S +P +S +P +P +P +S +S +P +S +P +S +S +S +P +P +P +S +S +S +S +S +P +S +S +S +P +P +S +S +S +P +P +P +S +S +S +S +S +P +S +S +S +S +S +P +P +P +P +P +S +P +P +S +S +P +S +P +S +P +P +S +S +S +S +S +S +P +S +P +P +P +S +P +P +S +S +P +S +S +P +S +P +S +P +P +S +S +S +P +S +S +S +S +P +P +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +S +P +P +P +S +S +S +S +S +S +P +P +S +P +P +S +P +S +S +S +P +S +S +S +S +S +S +P +P +P +S +S +S +S +P +S +S +P +S +S +P +S +S +S +S +P +S +P +P +P +P +S +S +S +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +P +P +S +P +S +P +P +S +S +S +P +S +P +P +S +S +S +S +S +P +S +S +S +P +S +S +S +S +P +S +S +S +S +S +P +S +S +P +S +S +S +S +P +S +P +S +S +S +P +S +S +P +P +S +S +S +P +S +P +S +P +S +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +P +P +S +P +S +P +S +P +P +P +P +S +S +P +S +P +S +S +S +S +P +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +P +S +S +S +P +P +P +S +S +P +P +S +S +S +P +P +P +S +S +S +S +S +S +S +S +S +P +P +P +S +P +S +S +P +P +P +S +P +S +P +S +S +S +S +S +P +P +S +S +P +S +S +P +P +P +S +S +P +S +S +S +S +P +P +P +P +S +P +P +P +S +P +P +S +S +P +S +S +S +S +S +S +P +S +S +S +S +P +P +S +S +P +S +S +P +S +P +S +S +S +S +P +P +P +S +P +P +S +P +P +S +S +S +P +P +S +P +P +S +P +P +P +P +P +P +P +S +P +P +S +P +S +P +S +P +S +S +S +P +S +P +P +S +P +S +P +P +S +S +S +P +S +S +S +P +S +S +S +S +P +S +P +P +S +S +S +S +P +P +S +S +S +P +P +P +P +S +P +P +S +P +S +P +P +S +P +P +P +S +P +P +S +S +S +S +S +S +P +P +P +S +S +S +P +S +S +S +S +S +S +P +P +P +S +S +S +S +S +S +S +P +S +P +P +S +S +S +P +S +S +P +P +S +S +S +S +P +S +P +S +S +S +S +P +S +P +S +S +P +S +S +S +S +S +P +P +P +S +S +S +P +P +P +S +S +S +P +S +S +S +S +S +S +S +P +S +S +S +P +P +P +S +S +P +P +S +P +S +S +S +P +S +S +P +S +P +S +P +S +S +S +S +P +S +S +P +S +S +P +P +S +S +P +P +S +P +S +P +P +S +S +P +P +P +P +P +P +S +P +S +S +S +S +S +S +S +P +P +P +P +S +S +P +S +P +P +S +P +P +P +S +S +S +P +P +S +S +P +S +S +P +S +S +S +S +S +P +S +P +P +P +P +S +P +P +S +S +S +S +S +S +P +P +S +S +S +S +P +P +P +S +P +S +P +P +P +S +S +S +S +S +P +P +P +S +S +P +S +S +P +P +P +S +S +P +P +S +S +S +S +S +S +P +P +S +S +S +P +S +P +S +S +S +S +P +S +S +S +S +S +P +S +S +S +S +S +S +P +S +S +P +P +P +S +P +P +S +S +P +P +P +P +S +S +S +S +P +P +S +S +S +S +S +P +P +P +S +P +S +S +S +P +S +S +S +S +S +P +S +S +S +P +S +S +P +S +S +P +P +S +P +S +S +P +S +S +S +S +P +S +S +S +P +S +P +P +S +P +S +S +P +S +S +S +P +P +P +S +P +P +S +S +S +S +S +P +S +P +P +P +P +P +S +S +P +S +P +P +S +S +P +P +S +S +P +P +S +P +P +S +S +S +P +P +S +P +S +P +P +P +S +P +P +S +S +S +S +S +S +S +P +S +P +P +P +S +S +S +S +S +S +P +S +S +S +P +S +P +S +P +S +P +P +P +S +S +S +P +S +S +S +P +S +P +P +S +P +P +S +P +P +S +S +S +S +P +S +P +S +P +P +P +P +S +S +S +S +P +S +P +P +S +S +S +S +P +S +S +S +S +P +S +P +S +S +S +S +P +P +S +S +S +S +P +S +P +S +P +S +S +S +S +S +S +S +S +S +S +P +S +S +S +P +S +S +S +P +P +P +S +P +P +S +P +P +P +S +S +S +S +S +P +S +S +S +P +S +P +P +S +S +P +P +P +S +P +S +S +P +S +S +P +P +P +P +P +S +S +P +S +S +S +S +P +S +P +S +P +S +S +S +S +P +P +P +S +S +S +S +S +P +P +S +S +S +S +P +S +P +S +S +P +P +P +S +S +S +S +P +S +P +S +S +P +S +P +P +S +P +S +S +S +P +S +S +S +S +P +P +S +S +P +S +S +S +S +S +P +P +P +S +P +P +S +P +P +S +S +S +S +S +S +S +S +P +S +P +P +S +S +P +P +P +P +P +P +P +S +S +P +S +S +S +S +S +P +S +S +S +P +S +P +S +P +P +P +S +S +S +S +S +S +P +P +P +S +P +S +S +P +S +P +S +S +S +P +S +S +S +P +S +S +P +P +S +S +S +S +S +S +S +S +S +S +P +P +P +S +S +S +P +P +P +S +S +S +S +S +S +P +P +S +P +P +P +P +P +P +P +S +S +S +S +P +S +S +S +S +S +S +P +S +S +S +S +S +S +S +S +S +P +S +S +S +S +S +S +P +P +P +P +S +S +P +S +P +P +P +S +S +S +S +S +S +S +P +P +P +P +P +P +S +S +S +S +P +S +S +P +S +P +P +S +P +S +P +P +S +P +S +P +S +P +P +S +P +S +S +P +P +S +P +S +S +S +P +P +S +S +P +P +S +S +S +S +P +P +P +S +S +S +P +P +S +S +P +P +S +P +S +S +P +P +P +P +P +S +P +P +P +P +P +P +P +P +S +P +S +P +P +P +P +P +P +S +S +S +P +S +P +P +P +P +P +P +S +P +P +S +P +P +P +S +P +P +S +S +S +S +P +S +S +S +P +P +S +S +S +P +S +P +S +P +S +P +P +S +P +S +P +P +S +S +S +S +S +P +S +P +S +S +S +P +P +P +S +S +S +P +P +P +S +S +S +S +P +P +S +S +P +S +S +S +S +S +S +P +S +P +P +S +P +S +S +P +S +S +P +P +P +P +P +S +S +S +S +S +S +P +P +S +P +P +S +P +S +S +P +S +P +S +P +S +S +S +P +P +S +S +P +S +S +P +S +P +S +S +P +P +S +S +S +P +P +S +S +P +S +S +S +S +S +P +S +S +S +P +S +S +S +S +S +S +S +P +P +P +S +P +P +S +P +S +S +S +S +S +S +P +P +P +P +S +P +P +P +S +S +S +S +P +S +P +S +P +S +P +S +S +P +P +P +P +S +S +S +P +S +S +P +P +S +S +S +P +S +S +P +P +S +P +S +S +S +S +S +S +S +S +S +P +P +S +P +S +S +S +P +S +S +S +S +P +S +P +P +S +S +S +P +P +P +P +S +P +S +S +P +S +S +P +S +P +S +S +S +S +P +S +S +S +P +S +S +S +S +S +P +S +P +S +P +S +P +S +P +S +P +S +S +P +S +S +S +S +S +P +S +P +S +S +S +S +S +S +S +S +P +P +S +P +P +S +S +S +P +P +P +P +P +S +S +P +P +S +S +S +S +P +P +S +S +P +P +S +S +S +S +S +S +S +S +P +P +S +S +S +P +P +S +P +S +P +S +S +S +P +P +S +S +S +S +P +P +P +P +S +P +S +P +S +S +P +S +S +P +P +P +P +P +S +P +S +P +P +S +P +S +S +P +S +P +S +S +P +P +S +P +S +P +S +S +S +P +P +P +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +P +P +P +P +S +P +P +S +S +S +P +P +P +S +P +P +P +S +S +S +P +S +S +P +P +S +P +S +S +S +S +S +P +S +S +S +P +S +S +P +P +S +S +S +S +P +P +S +P +S +S +P +P +S +P +P +S +P +S +P +P +S +P +S +S +S +P +S +S +S +P +S +S +P +S +S +P +P +S +S +P +P +S +S +S +P +S +P +P +P +P +P +P +P +S +S +S +S +P +P +S +P +P +S +P +S +S +S +S +P +S +S +P +S +S +P +P +S +P +S +P +P +S +P +P +P +S +P +P +P +P +S +P +S +S +S +S +S +P +P +P +S +P +P +P +P +S +S +S +S +S +P +P +P +S +S +P +S +P +S +P +P +P +P +S +P +S +P +S +S +P +S +S +S +P +P +P +P +S +P +S +P +P +P +S +S +P +P +S +P +S +S +P +S +S +P +S +S +S +P +P +S +S +S +P +S +P +P +P +S +P +P +P +S +S +S +P +S +P +S +S +P +S +S +S +S +P +S +S +S +S +P +P +P +P +S +S +P +P +P +P +S +S +S +P +P +S +S +P +P +S +P +S +S +P +S +P +S +P +P +S +S +S +S +P +P +S +S +S +P +S +S +S +P +S +P +S +S +P +P +S +S +P +S +S +P +P +S +P +S +S +P +S +S +P +P +P +S +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +S +S +S +S +P +S +P +S +P +S +P +S +S +S +P +P +S +S +P +S +S +S +P +S +S +S +S +S +P +S +S +S +S +S +S +P +S +P +S +S +S +P +S +P +S +P +S +P +S +P +P +S +S +S +S +P +S +P +S +S +S +S +S +S +P +S +P +S +S +P +S +P +S +P +S +P +P +S +P +P +S +S +S +S +S +P +P +S +S +S +S +P +S +S +P +S +S +P +S +P +S +P +S +S +S +P +P +P +P +S +S +P +S +S +P +S +P +S +S +P +P +P +P +S +S +S +S +S +S +P +P +S +S +P +S +S +S +S +P +P +P +S +S +S +S +P +S +S +P +P +S +S +P +S +S +P +S +P +S +P +S +P +P +S +P +S +S +S +P +S +S +S +S +S +P +S +P +P +S +P +P +S +P +P +S +P +S +P +S +S +P +S +S +S +S +P +S +S +P +P +S +S +P +S +S +S +P +S +S +P +S +S +P +P +S +P +P +S +P +S +S +S +S +P +S +S +P +P +S +S +P +P +P +S +S +P +S +S +P +P +S +P +P +S +S +P +S +P +S +S +P +S +S +S +P +S +S +S +S +S +S +S +P +P +P +P +S +S +S +S +S +S +S +S +S +S +S +P +S +S +S +S +P +P +S +P +S +S +S +S +S +S +S +S +P +S +S +S +P +P +S +S +P +S +P +P +S +P +P +P +S +S +S +P +S +P +S +P +P +P +P +S +P +P +P +S +P +P +S +S +P +S +P +P +S +P +S +S +P +S +S +S +P +P +S +P +S +S +P +P +S +S +S +P +S +P +S +S +S +P +P +S +S +S +S +P +S +S +S +P +S +P +S +S +S +P +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +S +P +S +S +S +P +P +S +P +P +S +S +P +S +S +S +P +S +P +S +P +P +S +S +P +S +S +P +P +P +S +S +P +S +P +S +S +P +S +P +S +P +S +S +S +S +P +S +P +S +P +P +P +S +S +S +S +S +P +S +S +S +S +S +P +S +S +S +S +P +S +P +P +S +S +S +P +S +P +S +S +P +P +P +P +S +S +S +P +S +S +S +S +S +S +S +P +S +S +P +S +P +P +S +P +P +S +P +S +S +P +S +P +P +S +S +P +S +S +S +S +S +S +S +S +S +P +S +S +P +P +S +P +P +P +P +S +S +S +S +S +S +S +S +S +S +S +S +S +P +S +S +P +P +P +P +S +S +S +S +S +S +S +P +S +S +S +P +S +P +S +P +P +S +S +S +P +P +S +S +P +S +P +P +S +S +S +S +P +S +S +P +S +P +S +S +P +S +S +S +P +S +S +S +P +S +S +P +P +P +S +S +S +S +P +S +S +S +P +S +S +S +P +S +S +S +S +P +S +S +S +P +S +S +P +S +P +P +P +P +S +S +S +P +S +P +S +S +S +P +S +P +P +S +S +P +P +P +S +S +P +S +P +S +P +P +S +S +S +S +S +S +S +S +P +P +P +S +S +P +P +S +S +S +P +S +S +P +S +P +S +P +S +S +S +P +S +S +P +S +S +P +P +P +P +S +P +S +S +S +S +S +S +P +S +S +S +P +P +S +S +S +S +S +S +S +S +S +S +P +P +P +P +S +S +S +P +S +S +S +P +S +P +S +S +P +S +S +P +S +S +S +P +S +P +S +P +S +S +S +S +S +P +P +P +P +S +P +P +P +S +P +P +S +S +S +P +S +S +S +S +S +P +P +S +S +P +S +P +S +S +S +S +S +S +S +S +S +S +S +S +S +P +P +P +P +S +S +S +P +S +S +S +S +S +S +S +P +P +S +P +S +S +S +S +S +S +S +P +S +P +S +S +S +S +S +P +S +P +S +S +P +S +P +S +S +P +S +S +S +S +S +P +S +P +S +S +S +S +P +S +S +P +P +S +P +P +P +S +S +P +P +S +S +P +P +P +P +P +S +S +P +S +S +S +S +S +S +S +S +P +P +S +S +S +P +P +P +P +S +P +S +S +P +S +S +S +S +S +S +S +S +P +S +P +P +S +S +S +S +P +P +S +P +S +P +P +P +S +S +S +S +P +S +P +P +S +S +S +S +S +P +S +P +P +S +S +P +P +S +S +P +P +S +S +S +P +S +S +P +P +S +S +S +P +P +P +S +S +P +S +S +S +P +P +P +S +S +S +P +S +S +S +S +P +S +P +S +S +P +S +S +P +P +S +S +S +S +S +P +S +S +P +S +S +S +S +P +S +P +S +S +P +S +P +S +P +S +P +P +P +S +S +S +P +P +S +S +S +S +P +P +P +S +P +S +S +P +S +S +S +S +S +S +P +S +P +S +S +P +P +S +P +P +S +P +P +S +S +S +P +P +P +S +P +S +P +S +S +S +P +S +S +P +S +S +S +P +P +P +S +P +S +S +P +S +P +S +S +P +S +P +S +S +S +S +S +P +S +P +P +P +S +P +S +S +S +S +S +P +S +S +S +S +S +S +S +S +P +S +S +S +P +S +S +P +P +P +P +P +P +S +S +S +P +S +P +S +P +P +P +S +S +S +P +S +P +P +S +S +P +P +S +S +P +P +P +S +S +S +P +P +S +S +S +S +P +S +S +S +S +S +S +S +P +P +P +P +S +S +P +P +P +P +S +S +P +S +P +S +S +S +S +P +S +S +S +S +S +P +P +S +S +P +S +S +S +S +S +P +S +S +P +P +S +P +P +P +S +S +S +P +S +S +S +S +S +P +S +S +P +P +S +S +S +P +P +S +S +P +S +S +S +S +P +P +S +S +S +S +S +P +P +P +P +P +P +S +S +P +P +P +P +P +S +S +P +P +S +P +P +S +S +S +S +S +P +S +S +P +S +P +S +P +P +S +P +S +S +P +P +P +S +S +P +S +S +P +S +S +P +P +S +P +S +S +S +P +S +S +S +S +P +P +S +P +S +S +S +P +P +P +P +P +S +S +P +P +P +S +P +P +P +P +P +S +P +S +P +P +S +S +S +S +S +P +P +S +P +S +S +S +S +S +S +P +P +S +S +S +S +S +S +P +P +S +P +S +P +S +S +S +P +P +S +P +P +P +S +S +S +S +S +S +P +S +S +S +S +S +P +S +S +S +S +P +S +S +S +S +P +S +S +P +S +P +S +S +P +P +P +S +S +P +S +P +P +P +P +S +P +S +S +P +S +S +P +S +S +S +P +S +P +P +P +S +S +S +S +P +P +P +P +P +P +P +S +P +S +S +S +P +P +S +S +S +P +S +P +S +S +S +S +S +P +P +S +S +S +S +S +P +S +P +S +S +P +S +P +P +P +S +S +P +S +P +S +P +P +S +S +P +S +P +S +S +P +S +P +S +S +P +S +P +P +P +S +S +P +P +S +S +P +S +S +P +S +P +P +S +S +S +S +S +S +S +P +S +S +S +S +S +S +S +S +P +P +S +S +S +P +P +P +S +P +P +S +P +P +S +S +P +S +S +S +P +P +S +S +S +P +P +S +S +S +P +P +P +S +P +S +S +S +S +P +S +S +S +S +S +S +S +S +P +S +P +S +S +S +S +S +P +S +S +S +P