__author__ = 'Amazon'

import time

class Cube:
    def __init__(self,X,Y,Z):
        self.x = X
        self.y = Y
        self.z = Z

    def drawCube(self):
        cubeString = ''
        z = self.z
        zTemp = 1
        while z >= 0:
            for i in xrange(z):
                cubeString += ' '
            if z == self.z:
                for x in xrange(self.x):
                    cubeString += ' ___'
            else:
                for x in xrange(self.x):
                    cubeString += '/___'
                cubeString += '/'
                for ztmp in xrange(zTemp):
                    if ztmp == zTemp - 1 and ztmp >= self.y:
                        cubeString += '/'
                    else:
                        cubeString += '|'
                if zTemp <= self.y:
                    zTemp += 1
            cubeString += '\n'
            z -= 1

        for y in xrange(self.y):
            for x in xrange(self.x):
                cubeString += '|___'
            if y >= (self.y-self.z):
                zTemp -= 1
            for ztmp in xrange(zTemp):
                if ztmp != zTemp - 1:
                    cubeString += '|'
                elif y < self.y - self.z:
                    cubeString += '|'
                else:
                    for i in xrange(self.z):
                        if y == self.y - (i+1):
                            cubeString += '|/'
            cubeString += '\n'

        print(cubeString)

start = time.time()

cubes = dict()

cubes[0] = Cube(2, 2, 2)
cubes[1] = Cube(2, 2, 4)
cubes[2]= Cube(2, 2, 6)
cubes[3] = Cube(2, 4, 2)
cubes[4] = Cube(2, 4, 4)
cubes[5] = Cube(2, 4, 6)
cubes[6] = Cube(2, 6, 2)
cubes[7] = Cube(2, 6, 4)
cubes[8] = Cube(2, 6, 6)
cubes[9] = Cube(4, 2, 2)
cubes[10] = Cube(4, 2, 4)
cubes[11] = Cube(4, 2, 6)
cubes[12] = Cube(4, 4, 2)
cubes[13] = Cube(4, 4, 4)
cubes[14] = Cube(4, 4, 6)
cubes[15] = Cube(4, 6, 2)
cubes[16] = Cube(4, 6, 4)
cubes[17] = Cube(4, 6, 6)
cubes[18] = Cube(6, 2, 2)
cubes[19] = Cube(6, 2, 4)
cubes[20] = Cube(6, 2, 6)
cubes[21] = Cube(6, 4, 2)
cubes[22] = Cube(6, 4, 4)
cubes[23] = Cube(6, 4, 6)
cubes[24] = Cube(6, 6, 2)
cubes[25] = Cube(6, 6, 4)
cubes[26] = Cube(6, 6, 6)

print("Tiempo de preparacion: " + str(time.time() - start))

for i in xrange(len(cubes)):
    cubes[i].drawCube()

print("\n\rTiempo de ejecucion: " + str(time.time()-start))