#C, 36 bytes each
p(i){return 3500459>>(4*(6+~i))&15;}
b(i){return 2390221>>(4*(6+~i))&15;}
I'm sorry...I just couldn't help it... Ok, I put a real solution now. Originals:
p(i){int a[]={3,5,6,9,10,11};return a[i-1];}
b(i){int a[]={2,4,7,8,12,13};return a[i-1];}