import java.math.BigDecimal;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String deg = sc.next();
String dis = sc.next();
BigDecimal decDeg = new BigDecimal(deg);
BigDecimal decDis = new BigDecimal(dis);
// メートル毎秒に直して四捨五入
BigDecimal disMeterPerSec = decDis.divide(new BigDecimal(60), 1,BigDecimal.ROUND_HALF_UP);
// decide wind power
String w = null;
if(in(disMeterPerSec,new BigDecimal("0.0"),new BigDecimal("0.2"))){
w = "0";
}else if (in(disMeterPerSec, new BigDecimal("0.3"), new BigDecimal("1.5"))) {
w = "1";
}else if (in(disMeterPerSec, new BigDecimal("1.6"), new BigDecimal("3.3"))) {
w = "2";
}else if (in(disMeterPerSec, new BigDecimal("3.4"), new BigDecimal("5.4"))) {
w = "3";
}else if (in(disMeterPerSec, new BigDecimal("5.5"), new BigDecimal("7.9"))) {
w = "4";
}else if (in(disMeterPerSec, new BigDecimal("8.0"), new BigDecimal("10.7"))) {
w = "5";
}else if (in(disMeterPerSec, new BigDecimal("10.8"), new BigDecimal("13.8"))) {
w = "6";
}else if (in(disMeterPerSec, new BigDecimal("13.9"), new BigDecimal("17.1"))) {
w = "7";
}else if (in(disMeterPerSec, new BigDecimal("17.2"), new BigDecimal("20.7"))) {
w = "8";
}else if (in(disMeterPerSec, new BigDecimal("20.8"), new BigDecimal("24.4"))) {
w = "9";
}else if (in(disMeterPerSec, new BigDecimal("24.5"), new BigDecimal("28.4"))) {
w = "10";
}else if (in(disMeterPerSec, new BigDecimal("28.5"), new BigDecimal("32.6"))) {
w = "11";
}else if (ge(disMeterPerSec, new BigDecimal("32.7"))) {
w = "12";
}
// decide wind dr
String dir = null;
if("0".equals(w)){
dir = "C";
}else {
if (in2(decDeg, new BigDecimal("112.5"), new BigDecimal("337.5"))) {
dir = "NNE";
} else if (in2(decDeg, new BigDecimal("337.5"), new BigDecimal("562.5"))) {
dir = "NE";
} else if (in2(decDeg, new BigDecimal("562.5"), new BigDecimal("787.5"))) {
dir = "ENE";
} else if (in2(decDeg, new BigDecimal("787.5"), new BigDecimal("1012.5"))) {
dir = "E";
} else if (in2(decDeg, new BigDecimal("1012.5"), new BigDecimal("1237.5"))) {
dir = "ESE";
} else if (in2(decDeg, new BigDecimal("1237.5"), new BigDecimal("1462.5"))) {
dir = "SE";
} else if (in2(decDeg, new BigDecimal("1462.5"), new BigDecimal("1687.5"))) {
dir = "SSE";
} else if (in2(decDeg, new BigDecimal("1687.5"), new BigDecimal("1912.5"))) {
dir = "S";
} else if (in2(decDeg, new BigDecimal("1912.5"), new BigDecimal("2137.5"))) {
dir = "SSW";
} else if (in2(decDeg, new BigDecimal("2137.5"), new BigDecimal("2362.5"))) {
dir = "SW";
} else if (in2(decDeg, new BigDecimal("2362.5"), new BigDecimal("2587.5"))) {
dir = "WSW";
} else if (in2(decDeg, new BigDecimal("2587.5"), new BigDecimal("2812.5"))) {
dir = "W";
} else if (in2(decDeg, new BigDecimal("2812.5"), new BigDecimal("3037.5"))) {
dir = "WNW";
} else if (in2(decDeg, new BigDecimal("3037.5"), new BigDecimal("3262.5"))) {
dir = "NW";
} else if (in2(decDeg, new BigDecimal("3262.5"), new BigDecimal("3487.5"))) {
dir = "NNW";
} else{
dir = "N";
}
}
System.out.println(dir + " " + w);
}
public static boolean in(BigDecimal target,BigDecimal min, BigDecimal max) {
return ge(target, min) && le(target, max);
}
public static boolean in2(BigDecimal target,BigDecimal min, BigDecimal max) {
return ge(target, min) && lt(target,max);
}
// op greater than target
public static boolean gt(BigDecimal op, BigDecimal target) {
return op.compareTo(target) == 1;
}
// op less than target
public static boolean lt(BigDecimal op, BigDecimal target) {
return op.compareTo(target) == -1;
}
// op equals target
public static boolean eq(BigDecimal op, BigDecimal target) {
return op.compareTo(target) == 0;
}
// op equals or greater than target
public static boolean ge(BigDecimal op, BigDecimal target) {
return gt(op,target) || eq(op, target);
}
// op equals or less than target
public static boolean le(BigDecimal op, BigDecimal target) {
return lt(op, target)|| eq(op, target);
}
}