/* Problem 6--Lighthouses
   This was a straightforward ASCII art problem with no tricky
   portion.*/

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv);
void Process (int sz, FILE *out);

int main (int argc, char **argv) {

  FILE *in, *out;
  int sz;

 in = fopen ("prob6.in","r");
 out = fopen ("prob6.out","w");
 while (fscanf (in,"%d",&sz),sz>0) Process (sz,out);
 fclose (in); /* Read and process each data case */
 fclose (out);
 return EXIT_SUCCESS;
}

/* Process prints a lighthouse of size sz according to specification */
void Process (int sz, FILE *out) {

  int i, j;

 for (i=1;i<sz;i++) fprintf (out," ");
 fprintf (out,"^\n");
 for (j=2;j<sz;j++) {
  for (i=0;i<sz-j;i++) fprintf (out," ");
  fprintf (out,"/");
  for (i=0;i<2*j-3;i++) fprintf (out," ");
  fprintf (out,"\\\n");
 }
 fprintf (out,"X");
 for (i=0;i<2*sz-3;i++) fprintf (out,"-");
 fprintf (out,"X\n");
 for (j=0;j<2*sz-3;j++) {
  fprintf (out,"|");
  for (i=0;i<2*sz-3;i++) fprintf (out," ");
  fprintf (out,"|\n");
 }
 fprintf (out,"X");
 for (i=0;i<2*sz-3;i++) fprintf (out,"-");
 fprintf (out,"X\n\n");
}
