无聊写了托构式做a+b结果
#include<bits/stdc++.h>
#define BEGIN {
#define END }
#define EOL ;
#define DT ,
typedef class addv BEGIN
public:
template<typename t1p2>
inline t1p2 AddV(t1p2 *a DT t1p2 *b)BEGIN
t1p2 c=*a DT d=*b EOL
for(t1p2 i=0 EOL i<c EOL i+=c&*a)BEGIN
c+=std::abs(1-std::pow(d DT 0)) EOL
if(c==*a)BEGIN
c/=std::pow(d**b DT c-*a) EOL
END
END
return c+*b EOL
END
END EOL
int main()BEGIN
while(ture)BEGIN
long long a DT b EOL
addv AdDv EOL
std::cin>>a>>b EOL
std::cout<<AdDv.AddV(&a DT &b) << std::endl EOL
break EOL
END
END