どこかがおかしい。なにやっても0になる。どこがおかしい?

#include <stdio.h>

#define THREE 3
#define SIX 6

int main(void)
{

 int dice,i,n=1,U=1;

 printf("使うサイコロの数:"); scanf("%d",&dice);

 puts("%d個のサイコロを同時に振ったとき、出る目が全て偶数である確率は、");

 for(i=1;i<=dice;i++)
 {
 n=n*THREE;
 U=U*SIX;
 }

 printf("%d だ。",(n/U));

 return(0);
}