Sierpinski triangles

Sierpinski triangles are recursive drawings. Sierpinski triangles can be nested. When each nesting level, three smaller Sierpinski triangles are drawn inside each existing Sierpinski triangle.

A Sierpinski triangle at nesting level 1:
           ^
          / \
         /   \
        /     \
       /       \
      /         \
     /           \
    /             \
   /               \
  /                 \
 /-------------------\

A Sierpinski triangle at nesting level 2:
           ^
          / \
         /   \
        /     \
       /       \
      /---------\
     / \       / \
    /   \     /   \
   /     \   /     \
  /       \ /       \
 /---------v---------\

A Sierpinski triangle at nesting level 3:
           ^
          / \
         /___\
        /\   /\
       /  \ /  \
      /----v----\
     / \       / \
    /___\     /___\
   /\   /\   /\   /\
  /  \ /  \ /  \ /  \
 /----v----v----v----\

The provided code has an Allegro skeleton that draws a single triangle. You can modify it to draw a Sierpinski triangle.