#!/bin/python
import sys
import os

# usage: mktask n m
# where m is number of task groups

ntask=(
0, # dummy for n=0
0,
0,
0,
1,
7,
23,
78,
172,
401,
700,
1337,
2040,
3432,
4816,
7432,
9844,
14272,
18132,
25080,
30880,
41176,
49480,
64072,
75516,
95472	# n=25
)

def usage():
	print "usage: mktask n m"
	print "u is the number of queens"
	print "m is the number of task groups"
	sys.exit()

def fwrite(i,s):
	print i,s
	f=open("tasks/task.%d"%i, "w")
	f.write(s+"\n")
	f.close()

def mkclean(path):
	d=os.dirreadall(path)
	for x in d:
		# print x[0]
		os.remove(path+"/"+x[0])

args=sys.argv[1:]
if len(args) <> 2:
	usage()
n=int(args[0]) # number of queens (board size)
m=ntask[n] # number of tasks
k=int(args[1]) # number of task groups
t=float(m)/k # tasks per group
mkclean("tasks")
for i in range(0,k):
	j1=int(t*i)
	j2=int(t*(i+1))
	if j1 < j2:
		s="queen %d %d:%d"%(n,j1,j2)
		fwrite(i,s)
if j2 < m:
	s="queen %d %d:%d"%(n,j2,m)
	fwrite(i+1,s)
