-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path451A
129 lines (95 loc) · 2.92 KB
/
451A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#pragma region TEMPLATE
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long int ulli;
typedef long long int lli;
typedef long int li;
typedef pair<int, int> pii;
typedef map<int, int> mii;
typedef map<string, int> msi;
typedef map<string, string> mss;
typedef vector<int> vi;
typedef vector<lli> vlli;
typedef vector<bool> vb;
typedef vector<string> vs;
#define MOD1 1000000007
#define MOD2 1000000009
#define all(v) v.begin(),v.end() // to be tested
#define OUT0(x) cout<<(x)<<" "
#define OUT1(x) cout<<(x)<<endl
#define OUT2(x,y) cout<<(x)<<" "<<(y)<<endl
#define TRACE1(x) cout<<(#x)<<" "<<(x)<<endl
#define TRACE2(x,y) cout<<(#x)<<" "<<(x)<<", "<<(#y)<<" "<<(y)<<endl
#define TRACE3(x,y,z) cout<<(#x)<<" "<<(x)<<", "<<(#y)<<" "<<(y)<<", "<<(#z)<<" "<<(z)<<endl
#define MIN3(x,y,z) min(x,min(y,z))
#define MAX3(x,y,z) max(x,max(y,z))
#define IN1(x) cin>>(x)
#define IN2(x,y) cin>>(x)>>(y)
#define IN3(x,y,z) cin >>(x)>>(y)>>(z)
#define HR cout<<"\n-------------------------\n"
#define LINE cout<<"\n"
void i_o() {
}
template <typename T> void inpA (T arr[], int n){
for(int i=0; i<n; i++) cin >> arr[i];
}
template <typename T> void inpV (vector<T> &vec, int n) {
vec.resize(n);
for(int i=0; i<n; i++) cin >> vec[i] ;
}
template <typename T> void outV (const vector<T> &vec) {
for(int i=0; i<vec.size(); i++) cout << vec[i] << " " ;
cout << endl ;
}
template <typename T> inline T sumV (const vector<T> &vec) {
T res=0;
for(int i=0; i<vec.size(); i++) res +=vec[i] ;
return res;
}
template <typename T> inline int maxIndexV (const vector<T> &vec) {
return max_element(vec.begin(), vec.end()) - vec.begin();
}
template <typename T> inline int minIndexV (const vector<T> &vec) {
return min_element(vec.begin(), vec.end()) - vec.begin();
}
template <typename T> inline void sortV (vector<T> &vec) { sort(vec.begin(), vec.end() ) ; }
template <typename T> inline void rSortV (vector<T> &vec) { sort(vec.begin(), vec.end(), greater<T>()) ; }
// make it return index or -1 // test it
template <typename T> inline int bSearchV (vector<T> &vec, T key)
{
auto itr = lower_bound(vec.begin(), vec.end(), key);
if(itr == vec.end() || *itr != key){
return -1;
}
else{
return (itr - vec.begin()) ;
}
}
#pragma endregion
//----------------------------------------------------
//---------START OF SOLUTION--------------------------
//----------------------------------------------------
// global var
void pre(){
}
int main(){
// #ifndef ONLINE_JUDGE
// clock_t clock_begin = clock();
// #endif
i_o();
pre();
// ----- START
lli n,m;
cin>>n>>m;
if (n>m){
swap(n,m);
}
if (n%2==0){
cout<<"Malvika"<<endl;
}
else{
cout<<"Akshat\n";
}
// ---- END
return 0 ;
}