#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
int startNum = 0;
cin >> startNum;
if (startNum <= 0) return 1;
cout << startNum << endl;
int numCols = startNum;
int numRows = (startNum + 1) / 2;
if (numCols % 2 == 0) {
++numRows;
}
int numFields = numCols * numRows;
for (int currentField = 0; currentField < numFields; ++currentField) {
int currentRow = currentField / numCols;
int currentCol = currentField % numCols;
if (currentCol < currentRow) cout << "-";
else if (currentCol > (numCols - currentRow - 1))
if (currentRow == numRows - 1 && currentCol == numCols / 2) cout << "^";
else cout << "_";
else cout << "*";
if (currentCol == numCols - 1) cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewoJCglpbnQgc3RhcnROdW0gPSAwOwoJY2luID4+IHN0YXJ0TnVtOwoJCglpZiAoc3RhcnROdW0gPD0gMCkgcmV0dXJuIDE7CgkKCWNvdXQgPDwgc3RhcnROdW0gPDwgZW5kbDsKCWludCBudW1Db2xzID0gc3RhcnROdW07CglpbnQgbnVtUm93cyA9IChzdGFydE51bSArIDEpIC8gMjsKCQoJaWYgKG51bUNvbHMgJSAyID09IDApIHsKCQkrK251bVJvd3M7Cgl9CgkKCWludCBudW1GaWVsZHMgPSBudW1Db2xzICogbnVtUm93czsKCQoJZm9yIChpbnQgY3VycmVudEZpZWxkID0gMDsgY3VycmVudEZpZWxkIDwgbnVtRmllbGRzOyArK2N1cnJlbnRGaWVsZCkgewoJCWludCBjdXJyZW50Um93ID0gY3VycmVudEZpZWxkIC8gbnVtQ29sczsKCQlpbnQgY3VycmVudENvbCA9IGN1cnJlbnRGaWVsZCAlIG51bUNvbHM7CgkJCgkJaWYgKGN1cnJlbnRDb2wgPCBjdXJyZW50Um93KSBjb3V0IDw8ICItIjsKCQllbHNlIGlmIChjdXJyZW50Q29sID4gKG51bUNvbHMgLSBjdXJyZW50Um93IC0gMSkpIAoJCQlpZiAoY3VycmVudFJvdyA9PSBudW1Sb3dzIC0gMSAmJiBjdXJyZW50Q29sID09IG51bUNvbHMgLyAyKSBjb3V0IDw8ICJeIjsKCQkJZWxzZSBjb3V0IDw8ICJfIjsKCQllbHNlIGNvdXQgPDwgIioiOwoJCQoJCWlmIChjdXJyZW50Q29sID09IG51bUNvbHMgLSAxKSBjb3V0IDw8IGVuZGw7Cgl9CgkKCXJldHVybiAwOwp9