namespace io {
const int SIZE = 1e6;
char buff[SIZE];
char *l = buff, *r = buff;
void init() {
l = buff;
r = l + fread(buff, 1, SIZE, stdin);
}
char gc() {
if (l == r) init();
if(l==r)return EOF;
return *(l++);
}
void read(int &x) {
x = 0;
char ch = gc();
while(!isdigit(ch)) ch = gc();
while(isdigit(ch)) x = x * 10 + ch - '0', ch = gc();
}
}using io::read;
#include<iostream>
#include<cctype>
using namespace std;
using std::cin;
using std::cout;
using std::endl;
namespace IN {
const int MAX_INPUT = 1000000;
#define getc() (p1 == p2 && (p2 = (p1 = buf) + inbuf -> sgetn(buf, MAX_INPUT), p1 == p2) ? EOF : *p1++)
char buf[MAX_INPUT], *p1, *p2;
template <typename T> inline bool redi(T &x) {
static std::streambuf *inbuf = cin.rdbuf();
x = 0;
register int f = 0, flag = false;
register char ch = getc();
while (!std::isdigit(ch)) {
if (ch == '-') f = 1;
ch = getc();
}
if (std::isdigit(ch)) x = x * 10 + ch - '0', ch = getc(),flag = true;
while (std::isdigit(ch)) {
x = x * 10 + ch - 48;
ch = getc();
}
x = f ? -x : x ;
return flag;
}
template <typename T,typename ...Args> inline bool redi(T& a,Args& ...args) {
return redi(a) && redi(args...);
}
#undef getc
}
namespace OUT {
template <typename T> inline void put(T x) {
static std::streambuf *outbuf = cout.rdbuf();
static char stack[21];
static int top = 0;
if (x < 0) {
outbuf -> sputc('-');
x=-x;
}
if (!x) {
outbuf -> sputc('0');
outbuf -> sputc('\n');
return;
}
while (x) {
stack[++top] = x % 10 + '0';
x /= 10;
}
while (top) {
outbuf -> sputc(stack[top]);
-- top;
}
outbuf -> sputc('\n');
}
inline void putc (const char ch) {
static std::streambuf *outbuf = cout.rdbuf();
outbuf -> sputc(ch);
}
template <typename T> inline void put(const char ch,T x)
{
static std::streambuf *outbuf = cout.rdbuf();
static char stack[21];
static int top = 0;
if (x < 0) {
outbuf -> sputc('-');
x=-x;
}
if (!x) {
outbuf -> sputc('0');
outbuf -> sputc(ch);
return;
}
while (x) {
stack[++top] = x % 10 + '0';
x /= 10;
}
while (top) {
outbuf -> sputc(stack[top]);
--top;
}
outbuf -> sputc(ch);
}
template<typename T,typename ...Args> inline void put(T a,Args ...args) {
put(a);put(args...);
}
template<typename T,typename ...Args> inline void put(const char ch,T a,Args ...args) {
put(ch,a);put(ch,args...);
}
}
using IN::redi;
using OUT::put;
using OUT::putc;
int main(int argc, char const *argv[])
{
freopen("testdata.in","r",stdin);
freopen("testdata.out","w",stdout);
std::ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int a,b;
redi(a,b);
put(' ',a,b);
putc('\n');
put('\n',a,b,a+b,a*b);
fclose(stdin);fclose(stdout);
return 0;
}