/* Round 1 */
String a = "a";
String b = "b";
String c = "c";
String d = "d";
pFF (a, b, c, d, 0, S11, "0xd76aa478"); /* 1 */
pFF (d, a, b, c, 1, S12, "0xe8c7b756"); /* 2 */
pFF (c, d, a, b, 2, S13, "0x242070db"); /* 3 */
pFF (b, c, d, a, 3, S14, "0xc1bdceee"); /* 4 */
pFF (a, b, c, d, 4, S11, "0xf57c0faf"); /* 5 */
pFF (d, a, b, c, 5, S12, "0x4787c62a"); /* 6 */
pFF (c, d, a, b, 6, S13, "0xa8304613"); /* 7 */
pFF (b, c, d, a, 7, S14, "0xfd469501"); /* 8 */
pFF (a, b, c, d, 8, S11, "0x698098d8"); /* 9 */
pFF (d, a, b, c, 9, S12, "0x8b44f7af"); /* 10 */
pFF (c, d, a, b, 10, S13,"0xffff5bb1"); /* 11 */
pFF (b, c, d, a, 11, S14,"0x895cd7be"); /* 12 */
pFF (a, b, c, d, 12, S11,"0x6b901122"); /* 13 */
pFF (d, a, b, c, 13, S12,"0xfd987193"); /* 14 */
pFF (c, d, a, b, 14, S13,"0xa679438e"); /* 15 */
pFF (b, c, d, a, 15, S14,"0x49b40821"); /* 16 */
/* Round 2 */
pGG (a, b, c, d, 1, S21, "0xf61e2562"); /* 17 */
pGG (d, a, b, c, 6, S22, "0xc040b340"); /* 18 */
pGG (c, d, a, b, 11, S23,"0x265e5a51"); /* 19 */
pGG (b, c, d, a, 0, S24, "0xe9b6c7aa"); /* 20 */
pGG (a, b, c, d, 5, S21, "0xd62f105d"); /* 21 */
pGG (d, a, b, c, 10, S22,"0x02441453"); /* 22 */
pGG (c, d, a, b, 15, S23,"0xd8a1e681"); /* 23 */
pGG (b, c, d, a, 4, S24, "0xe7d3fbc8"); /* 24 */
pGG (a, b, c, d, 9, S21, "0x21e1cde6"); /* 25 */
pGG (d, a, b, c, 14, S22,"0xc33707d6"); /* 26 */
pGG (c, d, a, b, 3, S23, "0xf4d50d87"); /* 27 */
pGG (b, c, d, a, 8, S24, "0x455a14ed"); /* 28 */
pGG (a, b, c, d, 13, S21,"0xa9e3e905"); /* 29 */
pGG (d, a, b, c, 2, S22, "0xfcefa3f8"); /* 30 */
pGG (c, d, a, b, 7, S23, "0x676f02d9"); /* 31 */
pGG (b, c, d, a, 12, S24,"0x8d2a4c8a"); /* 32 */
/* Round 3 */
pHH (a, b, c, d, 5, S31, "0xfffa3942"); /* 33 */
pHH (d, a, b, c, 8, S32, "0x8771f681"); /* 34 */
pHH (c, d, a, b, 11, S33,"0x6d9d6122"); /* 35 */
pHH (b, c, d, a, 14, S34,"0xfde5380c"); /* 36 */
pHH (a, b, c, d, 1, S31, "0xa4beea44"); /* 37 */
pHH (d, a, b, c, 4, S32, "0x4bdecfa9"); /* 38 */
pHH (c, d, a, b, 7, S33, "0xf6bb4b60"); /* 39 */
pHH (b, c, d, a, 10, S34,"0xbebfbc70"); /* 40 */
pHH (a, b, c, d, 13, S31,"0x289b7ec6"); /* 41 */
pHH (d, a, b, c, 0, S32, "0xeaa127fa"); /* 42 */
pHH (c, d, a, b, 3, S33, "0xd4ef3085"); /* 43 */
pHH (b, c, d, a, 6, S34, "0x04881d05"); /* 44 */
pHH (a, b, c, d, 9, S31, "0xd9d4d039"); /* 45 */
pHH (d, a, b, c, 12, S32,"0xe6db99e5"); /* 46 */
pHH (c, d, a, b, 15, S33,"0x1fa27cf8"); /* 47 */
pHH (b, c, d, a, 2, S34, "0xc4ac5665"); /* 48 */
/* Round 4 */
pII (a, b, c, d, 0, S41, "0xf4292244"); /* 49 */
pII (d, a, b, c, 7, S42, "0x432aff97"); /* 50 */
pII (c, d, a, b, 14, S43,"0xab9423a7"); /* 51 */
pII (b, c, d, a, 5, S44, "0xfc93a039"); /* 52 */
pII (a, b, c, d, 12, S41,"0x655b59c3"); /* 53 */
pII (d, a, b, c, 3, S42, "0x8f0ccc92"); /* 54 */
pII (c, d, a, b, 10, S43,"0xffeff47d"); /* 55 */
pII (b, c, d, a, 1, S44, "0x85845dd1"); /* 56 */
pII (a, b, c, d, 8, S41, "0x6fa87e4f"); /* 57 */
pII (d, a, b, c, 15, S42,"0xfe2ce6e0"); /* 58 */
pII (c, d, a, b, 6, S43, "0xa3014314"); /* 59 */
pII (b, c, d, a, 13, S44,"0x4e0811a1"); /* 60 */
pII (a, b, c, d, 4, S41, "0xf7537e82"); /* 61 */
pII (d, a, b, c, 11, S42,"0xbd3af235"); /* 62 */
pII (c, d, a, b, 2, S43, "0x2ad7d2bb"); /* 63 */
pII (b, c, d, a, 9, S44, "0xeb86d391"); /* 64 */