using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
using System.Threading;
namespace A
{
class Program
{
static void Main(string[] args)
{
var filesCount = 14;
var threads = 5;
int withoutResidue = filesCount / threads;
int residue = filesCount % threads;
Thread[] threadArray = new Thread[threads];
for (int i = 0; i < (threadArray = new Thread[threads]).Length; i++)
{
threadArray[i] = new Thread(new ThreadStart(() =>
{
Console.WriteLine("x {0}", i);
Thread.Sleep(100);
for (int j = 0; j < withoutResidue; j++)
{
Console.WriteLine("+ {0}", i);
Thread.Sleep(100);
}
if (residue != 0)
{
Console.WriteLine("- {0}", i);
Thread.Sleep(100);
}
}
)) { IsBackground = true };
threadArray[i].Start(i);
}
Thread.Sleep(3000);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKLy91c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQ7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmc7CgpuYW1lc3BhY2UgQQp7CiAgICBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGZpbGVzQ291bnQgPSAxNDsKICAgICAgICAgICAgdmFyIHRocmVhZHMgPSA1OwogICAgICAgICAgICBpbnQgd2l0aG91dFJlc2lkdWUgPSBmaWxlc0NvdW50IC8gdGhyZWFkczsKICAgICAgICAgICAgaW50IHJlc2lkdWUgPSBmaWxlc0NvdW50ICUgdGhyZWFkczsKICAgICAgICAgICAgVGhyZWFkW10gdGhyZWFkQXJyYXkgPSBuZXcgVGhyZWFkW3RocmVhZHNdOwoKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAodGhyZWFkQXJyYXkgPSBuZXcgVGhyZWFkW3RocmVhZHNdKS5MZW5ndGg7IGkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdGhyZWFkQXJyYXlbaV0gPSBuZXcgVGhyZWFkKG5ldyBUaHJlYWRTdGFydCgoKSA9PgogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJ4IHswfSIsIGkpOwogICAgICAgICAgICAgICAgICAgIFRocmVhZC5TbGVlcCgxMDApOwoKICAgICAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHdpdGhvdXRSZXNpZHVlOyBqKyspCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiKyB7MH0iLCBpKTsKICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkLlNsZWVwKDEwMCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZiAocmVzaWR1ZSAhPSAwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIi0gezB9IiwgaSk7CiAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZC5TbGVlcCgxMDApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkpIHsgSXNCYWNrZ3JvdW5kID0gdHJ1ZSB9OwogICAgICAgICAgICAgICAgdGhyZWFkQXJyYXlbaV0uU3RhcnQoaSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFRocmVhZC5TbGVlcCgzMDAwKTsKICAgICAgICB9CiAgICB9Cn0=