#include <stdio.h>
int main(void) {
long long f, N;
scanf("%lld %lld", &f, &N);
long long x = 0;
//주기는 1->2->3->4->5->4->3->2 이렇게 되기에 8로 판단
if (f==1) {
//각 주기에 1번씩만 나오기에 그냥 이렇게 하면 된다
x = (long long)8 *N;
}
else if (f==2) {
//홀수일 때와 짝수일 때를 구분하여 계산한다
if (N % 2 == 0) x = (long long)4 * N + 1;
else x = (long long)4 * N +3;
}
else if (f==3) {
//4번 간격으로 나오는 등차수열의 형태이기에 짝/홀을 따로 가리지 않는다
x = (long long)4 *N + 2;
}
else if (f==4) {
//검지 손가락일 때와 동일한 경우
if (N % 2 == 0) x = (long long)4 * N + 3;
else x = (long long)4 * N +1;
}
else if (f==5) {
//엄지손가락일 때와 동일한 경우
x = (long long)8 * N +4;
}
printf("%lld\n", x);
return 0;
}
#include <stdio.h>
//최대공약수를 찾는 함수
int cut(int a, int b){
//분자와 분모 크기 비교
int min = a < b ? a : b;
//큰 숫자부터 1씩 줄여가며 약수가 가능한지 확인
for (int i = min; i >= 1; i--){
if (a % i == 0 && b % i == 0) {
return i;
}
}
//서로소일 경우 1을 리턴
return 1;
}
int main(void) {
int A, B,C, D;
scanf("%d %d", &A, &B);
scanf("%d %d", &C, &D);
//통분 과정
int up = A * D + B * C;
int down = B * D;
//기약분수로 만든다
int x = cut(up, down);
up /= x;
down /= x;
printf("%d %d", up, down);
return 0;
}