mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-26 22:15:06 +08:00
10058 lines
554 KiB
Java
10058 lines
554 KiB
Java
import cn.hutool.json.JSONUtil;
|
||
import com.alibaba.fastjson2.JSON;
|
||
import com.alibaba.fastjson2.JSONArray;
|
||
import com.alibaba.fastjson2.JSONObject;
|
||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||
import com.google.common.collect.ImmutableMap;
|
||
import com.google.common.collect.Lists;
|
||
import com.google.common.collect.Maps;
|
||
import com.google.common.collect.Sets;
|
||
import com.google.common.primitives.Bytes;
|
||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||
import com.huifu.adapay.model.Payment;
|
||
import com.huifu.adapay.model.PaymentReverse;
|
||
import com.huifu.adapay.model.Refund;
|
||
import com.jsowell.JsowellApplication;
|
||
import com.jsowell.adapay.config.AbstractAdapayConfig;
|
||
import com.jsowell.adapay.dto.*;
|
||
import com.jsowell.adapay.factory.AdapayConfigFactory;
|
||
import com.jsowell.adapay.operation.PaymentReverseOperation;
|
||
import com.jsowell.adapay.response.*;
|
||
import com.jsowell.adapay.service.AdapayService;
|
||
import com.jsowell.adapay.vo.AdapayCorpMemberVO;
|
||
import com.jsowell.adapay.vo.DrawCashDetailVO;
|
||
import com.jsowell.adapay.vo.PaymentInfo;
|
||
import com.jsowell.common.constant.CacheConstants;
|
||
import com.jsowell.common.constant.Constants;
|
||
import com.jsowell.common.core.domain.entity.SysDictData;
|
||
import com.jsowell.common.core.domain.ykc.LoginRequestData;
|
||
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
|
||
import com.jsowell.common.core.redis.RedisCache;
|
||
import com.jsowell.common.enums.AcquirerEnum;
|
||
import com.jsowell.common.enums.DelFlagEnum;
|
||
import com.jsowell.common.enums.ykc.*;
|
||
import com.jsowell.common.exception.BusinessException;
|
||
import com.jsowell.common.util.*;
|
||
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
|
||
import com.jsowell.common.util.http.HttpUtils;
|
||
import com.jsowell.common.util.id.IdUtils;
|
||
import com.jsowell.common.util.id.SnowflakeIdWorker;
|
||
import com.jsowell.common.util.ip.AddressUtils;
|
||
import com.jsowell.netty.handler.HeartbeatRequestHandler;
|
||
import com.jsowell.netty.handler.TransactionRecordsRequestHandler;
|
||
import com.jsowell.netty.service.camera.impl.CameraBusinessServiceImpl;
|
||
import com.jsowell.netty.service.yunkuaichong.YKCBusinessService;
|
||
import com.jsowell.pile.domain.*;
|
||
import com.jsowell.pile.domain.ykcCommond.IssueQRCodeCommand;
|
||
import com.jsowell.pile.domain.ykcCommond.ProofreadTimeCommand;
|
||
import com.jsowell.pile.dto.*;
|
||
import com.jsowell.pile.dto.amap.GetStationInfoDTO;
|
||
import com.jsowell.pile.dto.lutongyunting.BindCouponDTO;
|
||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
||
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
||
import com.jsowell.pile.service.*;
|
||
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
|
||
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
|
||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
|
||
import com.jsowell.pile.transaction.service.TransactionService;
|
||
import com.jsowell.pile.util.SnUtils;
|
||
import com.jsowell.pile.vo.base.MemberWalletVO;
|
||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||
import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails;
|
||
import com.jsowell.pile.vo.uniapp.MemberVO;
|
||
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
|
||
import com.jsowell.pile.vo.web.*;
|
||
import com.jsowell.service.MemberService;
|
||
import com.jsowell.service.OrderService;
|
||
import com.jsowell.service.PileService;
|
||
import com.jsowell.service.TempService;
|
||
import com.jsowell.thirdparty.amap.service.AMapService;
|
||
import com.jsowell.thirdparty.common.NotificationDTO;
|
||
import com.jsowell.thirdparty.common.NotificationService;
|
||
import com.jsowell.thirdparty.huawei.HuaWeiService;
|
||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||
import com.jsowell.thirdparty.lutongyunting.service.LTYTService;
|
||
import com.jsowell.thirdparty.platform.util.Cryptos;
|
||
import com.jsowell.thirdparty.platform.util.Encodes;
|
||
import com.jsowell.thirdparty.platform.util.GBSignUtils;
|
||
import com.jsowell.wxpay.common.WeChatPayParameter;
|
||
import com.jsowell.wxpay.dto.AppletTemplateMessageSendDTO;
|
||
import com.jsowell.wxpay.response.WechatPayRefundRequest;
|
||
import com.jsowell.wxpay.service.WxAppletRemoteService;
|
||
import org.apache.commons.collections4.CollectionUtils;
|
||
import org.apache.commons.lang3.RandomStringUtils;
|
||
import org.junit.Test;
|
||
import org.junit.runner.RunWith;
|
||
import org.springframework.beans.factory.annotation.Autowired;
|
||
import org.springframework.boot.test.context.SpringBootTest;
|
||
import org.springframework.test.context.ActiveProfiles;
|
||
import org.springframework.test.context.junit4.SpringRunner;
|
||
import org.springframework.util.StopWatch;
|
||
|
||
import java.io.UnsupportedEncodingException;
|
||
import java.math.BigDecimal;
|
||
import java.math.RoundingMode;
|
||
import java.nio.charset.StandardCharsets;
|
||
import java.text.ParseException;
|
||
import java.text.SimpleDateFormat;
|
||
import java.util.*;
|
||
import java.util.stream.Collectors;
|
||
|
||
@ActiveProfiles("dev")
|
||
@SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||
@RunWith(SpringRunner.class)
|
||
public class SpringBootTestController {
|
||
|
||
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||
|
||
String wechatAppId1 = "wxbb3e0d474569481d"; // 万车充
|
||
|
||
String wechatAppId2 = "wx20abc5210391649c"; // 嘉佳充电
|
||
|
||
@Autowired
|
||
private SnUtils snUtils;
|
||
|
||
@Autowired
|
||
private PileService pileService;
|
||
|
||
@Autowired
|
||
private YKCPushCommandService ykcPushCommandService;
|
||
|
||
@Autowired
|
||
private AdapayMemberAccountService adapayMemberAccountService;
|
||
|
||
@Autowired
|
||
private PileMsgRecordService pileMsgRecordService;
|
||
|
||
@Autowired
|
||
private PileStationInfoService pileStationInfoService;
|
||
|
||
@Autowired
|
||
private YKCPushCommandService ykcPushBusinessService;
|
||
|
||
@Autowired
|
||
private HeartbeatRequestHandler heartbeatRequestHandler;
|
||
|
||
@Autowired
|
||
private YKCBusinessService ykcBusinessService;
|
||
|
||
@Autowired
|
||
private PileBillingTemplateMapper pileBillingTemplateMapper;
|
||
|
||
@Autowired
|
||
private PileRemoteService pileRemoteService;
|
||
|
||
@Autowired
|
||
private MemberService memberService;
|
||
|
||
@Autowired
|
||
private OrderService orderService;
|
||
|
||
@Autowired
|
||
private PileBillingTemplateService pileBillingTemplateService;
|
||
|
||
@Autowired
|
||
private MemberBasicInfoMapper memberBasicInfoMapper;
|
||
|
||
@Autowired
|
||
private SimCardService simCardService;
|
||
|
||
@Autowired
|
||
private PileBasicInfoService pileBasicInfoService;
|
||
|
||
@Autowired
|
||
private WechatPayService wechatPayService;
|
||
|
||
@Autowired
|
||
private OrderBasicInfoService orderBasicInfoService;
|
||
|
||
@Autowired
|
||
private WxpayCallbackRecordService wxpayCallbackRecordService;
|
||
|
||
@Autowired
|
||
private WxAppletRemoteService wxAppletRemoteService;
|
||
|
||
@Autowired
|
||
private RedisCache redisCache;
|
||
|
||
@Autowired
|
||
private PileAuthCardService pileAuthCardService;
|
||
|
||
@Autowired
|
||
private LianLianService lianLianService;
|
||
|
||
@Autowired
|
||
private MemberPlateNumberRelationService memberPlateNumberRelationService;
|
||
|
||
static final String MAC_KEY = "53TtFpc4gdVZbF3x";
|
||
|
||
static final String ALGORITHM_MAC = "HmacMD5";
|
||
|
||
@Autowired
|
||
private AdapayCallbackRecordService adapayCallbackRecordService;
|
||
|
||
@Autowired
|
||
private AdapayRefundRecordService adapayRefundRecordService;
|
||
|
||
@Autowired
|
||
private AdapayService adapayService;
|
||
|
||
@Autowired
|
||
private AMapService aMapService;
|
||
|
||
@Autowired
|
||
private PileConnectorInfoService pileConnectorInfoService;
|
||
|
||
@Autowired
|
||
private TransactionRecordsRequestHandler transactionRecordsRequestHandler;
|
||
|
||
@Autowired
|
||
private MemberBasicInfoService memberBasicInfoService;
|
||
|
||
@Autowired
|
||
private ClearingWithdrawInfoService clearingWithdrawInfoService;
|
||
|
||
@Autowired
|
||
private OrderPileOccupyService orderPileOccupyService;
|
||
|
||
@Autowired
|
||
private CameraBusinessServiceImpl cameraBusinessServiceImpl;
|
||
|
||
@Autowired
|
||
private LTYTService ltytService;
|
||
|
||
@Autowired
|
||
private PileMerchantInfoService pileMerchantInfoService;
|
||
|
||
@Autowired
|
||
private MemberAdapayRecordService memberAdapayRecordService;
|
||
|
||
@Autowired
|
||
private TransactionService transactionService;
|
||
|
||
@Autowired
|
||
private OrderPayRecordService orderPayRecordService;
|
||
|
||
@Autowired
|
||
private TempService tempService;
|
||
|
||
@Autowired
|
||
private MemberWalletInfoService memberWalletInfoService;
|
||
|
||
@Autowired
|
||
private MemberGroupService memberGroupService;
|
||
|
||
@Autowired
|
||
private HuaWeiService huaWeiService;
|
||
|
||
@Autowired
|
||
private NotificationService notificationService;
|
||
|
||
@Test
|
||
public void notificationStationInfoTest() {
|
||
String stationId = "19";
|
||
NotificationDTO dto = new NotificationDTO();
|
||
dto.setStationId(stationId);
|
||
dto.setPlatformType("1");
|
||
notificationService.notificationStationInfo(dto);
|
||
}
|
||
|
||
@Test
|
||
public void queryBillingPriceTest() {
|
||
String stationId = "19";
|
||
// List<BillingPriceVO> billingPriceVOS = pileBillingTemplateService.queryBillingPriceOld(stationId);
|
||
// System.out.println("老版:" + JSON.toJSONString(billingPriceVOS));
|
||
//
|
||
// List<BillingPriceVO> billingPriceVOS1 = pileBillingTemplateService.queryBillingPrice(stationId);
|
||
// System.out.println("新版:" + JSON.toJSONString(billingPriceVOS1));
|
||
|
||
CurrentTimePriceDetails currentTimePriceDetails = pileBillingTemplateService.getCurrentTimePriceDetails(stationId);
|
||
System.out.println("currentTimePriceDetails:" + JSON.toJSONString(currentTimePriceDetails));
|
||
}
|
||
|
||
@Test
|
||
public void queryPaymentRefundTest() {
|
||
String paymentId = "002212023122615542010585629628950949888";
|
||
try {
|
||
adapayService.queryPaymentRefund(paymentId, wechatAppId2);
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testnotificationOperationSystemInfo() {
|
||
// HWStationInfo hwStationInfo = huaWeiService.notificationOperationSystemInfo("19");
|
||
// String s = JSON.toJSONString(hwStationInfo);
|
||
// System.out.println(s);
|
||
}
|
||
|
||
@Test
|
||
public void selectByMemberWalletListTest() {
|
||
String memberId = "12345678";
|
||
List<MemberWalletVO> memberWalletVOS = memberWalletInfoService.selectByMemberWalletList(memberId);
|
||
System.out.println(JSON.toJSONString(memberWalletVOS));
|
||
}
|
||
|
||
@Test
|
||
public void testMqttSendMsg() throws InterruptedException {
|
||
String channelId = "94dd42b6";
|
||
String topic = "/GroundlockStatus";
|
||
JSONObject jsonObject = new JSONObject();
|
||
jsonObject.put("sign","F4213AD90EBC72C678E03450E4E091EE");
|
||
jsonObject.put("sn","e27f089d-5fadf6c6");
|
||
jsonObject.put("timestamp","2021-07-01 12:00:01");
|
||
jsonObject.put("msg_id","GS2021070112000101");
|
||
jsonObject.put("msg_type","GroundlockStatus");
|
||
jsonObject.put("msg_data",null);
|
||
|
||
// ChannelFuture future = cameraBusinessServiceImpl.sendMsg(channelId, topic, JSON.toJSONString());
|
||
// System.out.println(future.toString());
|
||
}
|
||
|
||
@Test
|
||
public void testDeliverEquipBusinessPolicy() {
|
||
|
||
String result = huaWeiService.deliverEquipBusinessPolicy("test123451694073123456", "8823000000073501");
|
||
|
||
System.out.println(result);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testDiscount() {
|
||
OrderBasicInfo orderBasicInfo = new OrderBasicInfo();
|
||
orderBasicInfo.setMemberId("12345678");
|
||
orderBasicInfo.setMerchantId("1");
|
||
orderBasicInfo.setStationId("19");
|
||
orderBasicInfo.setPayAmount(new BigDecimal("200"));
|
||
|
||
OrderDetail orderDetail = new OrderDetail();
|
||
orderDetail.setTotalElectricityAmount(new BigDecimal("3"));
|
||
orderDetail.setTotalServiceAmount(new BigDecimal("0.18"));
|
||
|
||
|
||
String memberId = orderBasicInfo.getMemberId(); // 会员id
|
||
String merchantId = orderBasicInfo.getMerchantId(); // 运营商id
|
||
String stationId = orderBasicInfo.getStationId(); // 站点id
|
||
|
||
// 电费折扣金额
|
||
BigDecimal discountElectricityAmount = BigDecimal.ZERO;
|
||
// 服务费折扣金额
|
||
BigDecimal discountServiceAmount = BigDecimal.ZERO;
|
||
|
||
BigDecimal afterServiceAmountDiscount = BigDecimal.ZERO;
|
||
BigDecimal afterElectricityAmountDiscount = BigDecimal.ZERO;
|
||
|
||
// 查询会员在此站点会员折扣
|
||
MemberDiscountVO memberDiscountVO = memberGroupService.queryMemberDiscount(merchantId, stationId, memberId);
|
||
if (memberDiscountVO != null) {
|
||
BigDecimal discount = memberDiscountVO.getDiscount(); // 折扣率
|
||
String groupType = memberDiscountVO.getGroupType(); // 类型(1-服务费折扣,2-电费折扣 ,3-电费和服务费一起折扣)
|
||
BigDecimal totalElectricityAmount = orderDetail.getTotalElectricityAmount(); // 电费
|
||
BigDecimal totalServiceAmount = orderDetail.getTotalServiceAmount(); // 服务费
|
||
|
||
afterServiceAmountDiscount = totalServiceAmount;
|
||
afterElectricityAmountDiscount = totalElectricityAmount;
|
||
if (Constants.ONE.equals(groupType)) {
|
||
afterServiceAmountDiscount = totalServiceAmount.multiply(discount).setScale(4, RoundingMode.DOWN);
|
||
discountServiceAmount = totalServiceAmount.subtract(afterServiceAmountDiscount);
|
||
} else if (Constants.TWO.equals(groupType)) {
|
||
afterElectricityAmountDiscount = totalElectricityAmount.multiply(discount).setScale(4, RoundingMode.DOWN);
|
||
discountElectricityAmount = totalElectricityAmount.subtract(afterElectricityAmountDiscount);
|
||
} else {
|
||
// BigDecimal afterServiceAmountDiscount = totalServiceAmount.multiply(discount).setScale(2, RoundingMode.DOWN);
|
||
// discountServiceAmount = totalServiceAmount.subtract(afterServiceAmountDiscount);
|
||
// BigDecimal afterElectricityAmountDiscount = totalElectricityAmount.multiply(discount).setScale(2, RoundingMode.DOWN);
|
||
// discountElectricityAmount = totalElectricityAmount.subtract(afterElectricityAmountDiscount);
|
||
afterServiceAmountDiscount = totalServiceAmount.multiply(discount).setScale(4, RoundingMode.DOWN);
|
||
afterElectricityAmountDiscount = totalElectricityAmount.multiply(discount).setScale(4, RoundingMode.DOWN);
|
||
|
||
discountServiceAmount = totalServiceAmount.subtract(afterServiceAmountDiscount);
|
||
discountElectricityAmount = totalElectricityAmount.subtract(afterElectricityAmountDiscount);
|
||
}
|
||
}
|
||
// 订单折扣金额
|
||
BigDecimal discountAmount = discountServiceAmount.add(discountElectricityAmount);
|
||
orderBasicInfo.setDiscountAmount(discountAmount);
|
||
// 更新退款金额 = 退款金额 - 折扣金额
|
||
// BigDecimal refundAmount = orderBasicInfo.getRefundAmount().subtract(discountAmount);
|
||
|
||
// 总消费金额 = 折扣后电费 + 折扣后服务费
|
||
BigDecimal totalConsumeAmount = afterServiceAmountDiscount.add(afterElectricityAmountDiscount);
|
||
// 更新退款金额
|
||
BigDecimal refundAmount = orderBasicInfo.getPayAmount().subtract(totalConsumeAmount).setScale(2, RoundingMode.DOWN);
|
||
orderBasicInfo.setRefundAmount(refundAmount);
|
||
|
||
orderDetail.setDiscountElectricityAmount(discountElectricityAmount);
|
||
orderDetail.setDiscountServiceAmount(discountServiceAmount);
|
||
}
|
||
|
||
@Test
|
||
public void queryPaymentByOrderNoTest() {
|
||
String orderNo = "C88850447008_20240415083226";
|
||
String orderCode = orderNo.substring(0, orderNo.indexOf("_"));
|
||
String wechatAppId = wechatAppId1;
|
||
try {
|
||
// List<AdaPayment> adaPayments = adapayService.queryPaymentsByOrderNo(orderNo, wechatAppId);
|
||
// System.out.println(JSON.toJSONString(adaPayments));
|
||
|
||
Set<PaymentInfo> paymentInfoSet = Sets.newHashSet();
|
||
|
||
List<PaymentInfo> paymentInfos = adapayService.queryPaymentInfosByOrderNo(orderNo, wechatAppId);
|
||
paymentInfoSet.addAll(paymentInfos);
|
||
System.out.println("1111:" + JSON.toJSONString(paymentInfos));
|
||
|
||
List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||
if (CollectionUtils.isNotEmpty(orderPayRecordList)) {
|
||
for (OrderPayRecord orderPayRecord : orderPayRecordList) {
|
||
List<PaymentInfo> paymentInfos2 = orderPayRecordService.parseDeductionRecord(orderPayRecord.getDeductionRecord());
|
||
paymentInfoSet.addAll(paymentInfos2);
|
||
System.out.println("2222:" + JSON.toJSONString(paymentInfos2));
|
||
}
|
||
}
|
||
|
||
System.out.println("set:" + JSON.toJSONString(paymentInfoSet));
|
||
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void checkPaymentTest() {
|
||
QueryOrderDTO dto = new QueryOrderDTO();
|
||
String startTime = "2023-09-01 00:00:00";
|
||
String endTime = "2023-09-30 23:59:59";
|
||
dto.setStartTime(startTime);
|
||
dto.setEndTime(endTime);
|
||
|
||
try {
|
||
tempService.checkPayment(dto);
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void toStringTest() {
|
||
String jsonString = "{\"business\":\"00\",\"communicationVersion\":\"v1.5\",\"connectorNum\":\"01\",\"iccid\":\"89860620180085681816\",\"internetConnection\":\"00\",\"pileSn\":\"88230000000259\",\"pileType\":\"01\",\"programVersion\":\"gyk-V29\\u0000\"}";
|
||
LoginRequestData loginRequestData = JSONObject.parseObject(jsonString, LoginRequestData.class);
|
||
System.out.println(loginRequestData.toString());
|
||
}
|
||
|
||
/**
|
||
* 单元测试,测试订单流程
|
||
*/
|
||
@Test
|
||
public void testTheOrderProcess() throws Exception {
|
||
// 生成订单
|
||
// OrderBasicInfo orderBasicInfo = generateAnOrder();
|
||
// System.out.println(orderBasicInfo);
|
||
// // 支付订单
|
||
// int a = payOrder(orderBasicInfo);
|
||
// System.out.println(a);
|
||
// 结算订单
|
||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode("C46006767636");
|
||
settleOrder(orderBasicInfo);
|
||
// 订单退款
|
||
BigDecimal payAmount = orderBasicInfo.getPayAmount();
|
||
BigDecimal settleAmount = orderBasicInfo.getSettleAmount();
|
||
|
||
BigDecimal refundAmt = payAmount.subtract(settleAmount);
|
||
// 延时分账的,可以部分解冻
|
||
memberAdapayRecordService.updateRefundAmountFromFreezeAmount("1234", refundAmt);
|
||
|
||
// 实时分账,全部解冻
|
||
// memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount("test01", payAmount, refundAmt);
|
||
}
|
||
|
||
// 生成订单
|
||
private OrderBasicInfo generateAnOrder() throws ParseException {
|
||
GenerateOrderDTO dto = new GenerateOrderDTO();
|
||
PileConnectorDetailVO vo = new PileConnectorDetailVO();
|
||
vo.setStationId("2");
|
||
dto.setPileConnector(vo);
|
||
|
||
dto.setMemberId("1");
|
||
dto.setStartMode("1");
|
||
dto.setPayMode("4");
|
||
dto.setPileSn("88000000000001");
|
||
dto.setConnectorCode("01");
|
||
dto.setChargeAmount(new BigDecimal("10"));
|
||
// 查询充电桩的计费模板
|
||
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(dto.getPileSn());
|
||
dto.setBillingTemplate(billingTemplateVO);
|
||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.saveOrder2Database(dto);
|
||
|
||
return orderBasicInfo;
|
||
}
|
||
|
||
// 支付订单
|
||
private int payOrder(OrderBasicInfo orderBasicInfo) throws Exception {
|
||
// PayOrderDTO dto = new PayOrderDTO();
|
||
// dto.setMemberId(orderBasicInfo.getMemberId());
|
||
// dto.setOrderCode(orderBasicInfo.getOrderCode());
|
||
// dto.setStartMode(orderBasicInfo.getStartMode());
|
||
// dto.setPayMode(orderBasicInfo.getPayMode());
|
||
// dto.setPayAmount(orderBasicInfo.getPayAmount());
|
||
//
|
||
// Map<String, Object> map = orderBasicInfoService.payOrder(dto);
|
||
// return map;
|
||
String paymentId = "1234";
|
||
BigDecimal amount = orderBasicInfo.getPayAmount();
|
||
String orderCode = orderBasicInfo.getOrderCode();
|
||
|
||
JSONObject json = new JSONObject();
|
||
json.put("paymentId", paymentId);
|
||
json.put("amount", amount);
|
||
|
||
// 记录订单支付流水
|
||
OrderPayRecord orderPayRecord = OrderPayRecord.builder()
|
||
.orderCode(orderCode)
|
||
.payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
|
||
.payAmount(amount)
|
||
.acquirer(AcquirerEnum.ADAPAY.getValue())
|
||
.deductionRecord(json.toJSONString())
|
||
.createBy(null)
|
||
.delFlag(DelFlagEnum.NORMAL.getValue())
|
||
.build();
|
||
orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
|
||
|
||
// 更新冻结金额 支付成功后全部冻结
|
||
memberAdapayRecordService.updateFreezeAmount(paymentId, amount);
|
||
|
||
// 支付订单成功
|
||
PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
|
||
.orderCode(orderCode)
|
||
.payAmount(amount)
|
||
.payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||
.acquirer(AcquirerEnum.ADAPAY.getValue())
|
||
.build();
|
||
// 订单支付成功 支付回调
|
||
// orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
|
||
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(callbackDTO.getOrderCode());
|
||
|
||
// 修改订单
|
||
orderInfo.setPayMode(callbackDTO.getPayMode());
|
||
orderInfo.setPayStatus(Constants.ONE);
|
||
orderInfo.setPayAmount(callbackDTO.getPayAmount());
|
||
orderInfo.setPayTime(new Date());
|
||
orderInfo.setChargeStartTime(new Date());
|
||
orderInfo.setOrderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue());
|
||
return orderBasicInfoService.updateOrderBasicInfo(orderInfo);
|
||
|
||
}
|
||
|
||
// 结算订单
|
||
private void settleOrder(OrderBasicInfo orderBasicInfo) {
|
||
TransactionRecordsData data = TransactionRecordsData.builder()
|
||
.transactionCode(orderBasicInfo.getTransactionCode())
|
||
.pileSn(orderBasicInfo.getPileSn())
|
||
.connectorCode(orderBasicInfo.getConnectorCode())
|
||
.startTime("2023-03-10 17:10:24")
|
||
.endTime("2023-03-10 17:10:46")
|
||
.sharpPrice("1.10000")
|
||
.sharpUsedElectricity("2.0000")
|
||
.sharpAmount("2.2000")
|
||
.peakPrice("1.20000")
|
||
.peakUsedElectricity("0")
|
||
.peakAmount("0")
|
||
.flatPrice("1.30000")
|
||
.flatUsedElectricity("0")
|
||
.flatAmount("0")
|
||
.valleyPrice("1.40000")
|
||
.valleyUsedElectricity("0")
|
||
.valleyAmount("0")
|
||
.totalElectricity("2")
|
||
.consumptionAmount("5.3000")
|
||
.vinCode("\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000")
|
||
.transactionIdentifier("01")
|
||
.transactionTime("2023-03-10 17:10:46")
|
||
.stopReasonMsg("结束充电,APP远程停止")
|
||
.logicCard("0")
|
||
.createTime(new Date())
|
||
|
||
.build();
|
||
|
||
// orderBasicInfoService.settleOrder(data, orderBasicInfo);
|
||
// 获取更新数据后的orderBasicInfo对象
|
||
orderBasicInfoService.returnUpdateOrderBasicInfo(orderBasicInfo, data);
|
||
// 获取更新数据后的orderDetail对象/更新订单详情 查询订单详情 修改订单数据
|
||
OrderDetail orderDetail = orderBasicInfoService.returnUpdateOrderDetail(orderBasicInfo, data);
|
||
// 更新数据库
|
||
OrderTransactionDTO dto = new OrderTransactionDTO();
|
||
dto.setOrderBasicInfo(orderBasicInfo);
|
||
dto.setOrderDetail(orderDetail);
|
||
transactionService.doUpdateOrder(dto);
|
||
}
|
||
|
||
public static List<BigDecimal> calculateRefund(BigDecimal totalAmount, List<BigDecimal> payments) {
|
||
List<BigDecimal> refundList = new ArrayList<>();
|
||
BigDecimal remainingAmount = totalAmount;
|
||
|
||
for (BigDecimal payment : payments) {
|
||
if (remainingAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||
// refundList.add(BigDecimal.ZERO);
|
||
refundList.add(payment);
|
||
} else {
|
||
BigDecimal refundPerPayment = remainingAmount.min(payment);
|
||
// refundList.add(refundPerPayment);
|
||
refundList.add(payment.subtract(refundPerPayment));
|
||
remainingAmount = remainingAmount.subtract(refundPerPayment);
|
||
}
|
||
}
|
||
|
||
return refundList;
|
||
}
|
||
|
||
/**
|
||
* 测试多笔支付情况,解冻部分金额
|
||
*/
|
||
@Test
|
||
public void calculateUnfreezeAmountTest() {
|
||
BigDecimal orderAmount = new BigDecimal("0.06");
|
||
List<OrderPayRecord> payRecordList = Lists.newArrayList();
|
||
// 第一笔支付记录
|
||
JSONObject jsonObject = new JSONObject();
|
||
jsonObject.put("paymentId", "002212023083114213410543206907226374144");
|
||
jsonObject.put("amount", "0.97");
|
||
|
||
JSONObject jsonObject2 = new JSONObject();
|
||
jsonObject2.put("paymentId", "002212023083114213410543206907226374144");
|
||
jsonObject2.put("amount", "1");
|
||
|
||
JSONArray jsonArray = new JSONArray();
|
||
jsonArray.add(jsonObject);
|
||
jsonArray.add(jsonObject2);
|
||
|
||
OrderPayRecord build = OrderPayRecord.builder()
|
||
.payAmount(new BigDecimal("1.97"))
|
||
.deductionRecord(jsonArray.toJSONString())
|
||
.build();
|
||
payRecordList.add(build);
|
||
|
||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic("1");
|
||
List<Map<String, Object>> maps = orderLogic.calculateUnfreezeAmount(orderAmount, payRecordList);
|
||
System.out.println(maps);
|
||
}
|
||
|
||
@Test
|
||
public void unfreezeAmountAndUpdateSpendAmountTest() {
|
||
String paymentId = "123";
|
||
memberAdapayRecordService.updateRefundAmount(paymentId, new BigDecimal("5"));
|
||
// memberAdapayRecordService.updateRefundAmountFromFreezeAmount(paymentId, new BigDecimal("20"));
|
||
// BigDecimal unfreezeAmount = new BigDecimal("32");
|
||
// BigDecimal spendAmount = new BigDecimal("10");
|
||
// memberAdapayRecordService.unfreezeAmountAndUpdateSpendAmount(paymentId, unfreezeAmount, spendAmount);
|
||
// memberAdapayRecordService.updateRefundAmountFromFreezeAmount(paymentId, new BigDecimal("2"));
|
||
}
|
||
|
||
@Test
|
||
public void getFirstLevelMerchantByMerchantIdTest() {
|
||
String merchantId = "13";
|
||
PileMerchantInfo merchantInfo = pileMerchantInfoService.getFirstLevelMerchantByMerchantId(merchantId);
|
||
System.out.println(JSON.toJSONString(merchantInfo));
|
||
}
|
||
|
||
@Test
|
||
public void queryPaymentInfoTest() throws BaseAdaPayException {
|
||
String paymentId = "002212023082514501110541039779091623936";
|
||
// 在完成初始化设置情况下,调用查询方法,获取 Payment 查询结果
|
||
Map<String, Object> response = Payment.query(paymentId, wechatAppId1);
|
||
System.out.println(response);
|
||
}
|
||
|
||
/**
|
||
* 【用户需要换绑银行卡 1-删除结算账户信息,2-使用新账户信息创建结算账户】
|
||
* 删除结算账户信息
|
||
* @throws BaseAdaPayException
|
||
*/
|
||
@Test
|
||
public void createDeleteSettleAccountRequestTest() throws BaseAdaPayException {
|
||
String adapayMemberId = "AM40919405";
|
||
String settleAccountId = "0540761871278208";
|
||
adapayService.createDeleteSettleAccountRequest(adapayMemberId, settleAccountId, wechatAppId1);
|
||
}
|
||
|
||
/**
|
||
* 手动变更银行卡信息
|
||
*/
|
||
@Test
|
||
public void createSettleAccountRequestTest() throws BaseAdaPayException {
|
||
SettleAccountDTO dto = new SettleAccountDTO();
|
||
dto.setCardId("45050160425000000627");
|
||
dto.setCardName("广西昂晟节能科技有限公司");
|
||
dto.setTelNo("19163816451");
|
||
dto.setBankCode("01050000");
|
||
dto.setBankAcctType("1");
|
||
dto.setProvCode("0045");
|
||
dto.setAreaCode("4501");
|
||
String adapayMemberId = "ACM82792551";
|
||
adapayService.createSettleAccountRequest(dto, adapayMemberId, wechatAppId1);
|
||
}
|
||
|
||
@Test
|
||
public void queryDrawcashDetailTest() throws BaseAdaPayException {
|
||
String orderNo = "drawcash_1692339516947";
|
||
DrawCashDetailVO drawCashDetailVO = adapayService.queryDrawCashDetail(orderNo, wechatAppId1);
|
||
System.out.println(drawCashDetailVO);
|
||
}
|
||
|
||
@Test
|
||
public void refundOrderTest() {
|
||
String orderCode = "C80410085692";
|
||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
|
||
String mode = pileMerchantInfoService.getDelayModeByMerchantId(orderBasicInfo.getMerchantId());
|
||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(mode);
|
||
orderLogic.refundOrder(orderBasicInfo);
|
||
}
|
||
|
||
@Test
|
||
public void queryPaymentConfirmListTest() {
|
||
QueryPaymentConfirmDTO dto = new QueryPaymentConfirmDTO();
|
||
dto.setWechatAppId(wechatAppId1);
|
||
dto.setPaymentId("002212023122208033310584061601344237568");
|
||
QueryPaymentConfirmDetailResponse response = adapayService.queryPaymentConfirmList(dto);
|
||
List<QueryPaymentConfirmDetailResponse.PaymentConfirmInfo> paymentConfirms = response.getPaymentConfirms();
|
||
// 如果没有分账信息,说明没有清分
|
||
String clearingStatus = null;
|
||
if (org.springframework.util.CollectionUtils.isEmpty(paymentConfirms)) {
|
||
clearingStatus = "未清分";
|
||
} else {
|
||
clearingStatus = "已清分";
|
||
}
|
||
System.out.println(clearingStatus);
|
||
}
|
||
|
||
@Test
|
||
public void queryAcctFlowListTest() {
|
||
QueryAcctFlowDTO dto = new QueryAcctFlowDTO();
|
||
try {
|
||
dto.setPageNo(1);
|
||
dto.setPageSize(100);
|
||
dto.setAcctType("01");
|
||
dto.setWechatAppId(wechatAppId1);
|
||
dto.setAdapayMemberId("ACM69424215");
|
||
dto.setBeginDate("20230823");
|
||
dto.setEndDate("20230823");
|
||
adapayService.queryAcctFlowList(dto);
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testCalculateTheBalanceDeductionAmount() {
|
||
String memberId = "123456";
|
||
BigDecimal amount = new BigDecimal("20");
|
||
|
||
List<BalanceDeductionAmountVO> resultList = Lists.newArrayList();
|
||
// 查询会员的余额充值记录 按照充值时间正序
|
||
List<MemberAdapayRecord> memberAdapayRecords = Lists.newArrayList();
|
||
memberAdapayRecords.add(MemberAdapayRecord.builder().paymentId("1").balanceAmt(new BigDecimal("50")).build());
|
||
memberAdapayRecords.add(MemberAdapayRecord.builder().paymentId("2").balanceAmt(new BigDecimal("60")).build());
|
||
memberAdapayRecords.add(MemberAdapayRecord.builder().paymentId("3").balanceAmt(new BigDecimal("10")).build());
|
||
|
||
// 定义一个临时金额等于消费金额
|
||
BigDecimal tempAmount = new BigDecimal(amount.toString());
|
||
for (MemberAdapayRecord memberAdapayRecord : memberAdapayRecords) {
|
||
// 该笔支付剩余金额 取出一笔判断是否剩余金额够支付订单消费吗
|
||
BigDecimal balanceAmt = memberAdapayRecord.getBalanceAmt();
|
||
// 该笔支付扣除金额
|
||
BigDecimal deductionAmount;
|
||
// 获取延时分账模式 延时分账的使用撤销方法退款,实时分账的使用退款方法
|
||
// AdapayCallbackRecord callbackRecord = adapayCallbackRecordService.selectByPaymentId(memberAdapayRecord.getPaymentId());
|
||
// String payMode = null;
|
||
// if (callbackRecord != null) {
|
||
// JSONObject expendJsonObject = JSON.parseObject(callbackRecord.getExpend());
|
||
// payMode = expendJsonObject.getString("payMode");
|
||
// }
|
||
// 消费金额 - 剩余金额
|
||
tempAmount = tempAmount.subtract(balanceAmt);
|
||
if (tempAmount.compareTo(BigDecimal.ZERO) >= 0) {
|
||
// 计算以后,大于等于0,说明这笔支付剩余金额需要扣完
|
||
deductionAmount = balanceAmt;
|
||
BalanceDeductionAmountVO build = BalanceDeductionAmountVO.builder()
|
||
.memberId(memberId)
|
||
.paymentId(memberAdapayRecord.getPaymentId())
|
||
.deductionAmount(deductionAmount)
|
||
.build();
|
||
resultList.add(build);
|
||
} else {
|
||
// 如果小于0,则说明剩余的钱用不完,扣除金额等于消费金额,并结束循环
|
||
deductionAmount = balanceAmt.add(tempAmount);
|
||
BalanceDeductionAmountVO build = BalanceDeductionAmountVO.builder()
|
||
.memberId(memberId)
|
||
.paymentId(memberAdapayRecord.getPaymentId())
|
||
.deductionAmount(deductionAmount)
|
||
.build();
|
||
resultList.add(build);
|
||
break;
|
||
}
|
||
}
|
||
|
||
System.out.println(JSON.toJSONString(resultList));
|
||
}
|
||
|
||
@Test
|
||
public void testGenerateOccupyPileOrder() {
|
||
String memberId = "67569684";
|
||
String pileSn = "88230000000135";
|
||
String connectorCode = "01";
|
||
GenerateOccupyOrderDTO dto = new GenerateOccupyOrderDTO();
|
||
dto.setMemberId(memberId);
|
||
dto.setPileSn(pileSn);
|
||
dto.setConnectorCode(connectorCode);
|
||
|
||
orderPileOccupyService.generateOccupyPileOrder(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testQueryConfirmReverse() throws BaseAdaPayException {
|
||
QueryConfirmReverseDTO dto = QueryConfirmReverseDTO.builder()
|
||
.paymentConfirmId("0022120231023104957990562360205131259904")
|
||
.wechatAppId(wechatAppId1)
|
||
.build();
|
||
adapayService.queryConfirmReverse(dto);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testStopOccupyPileOrder() {
|
||
String wechatAppId = "54135135";
|
||
AbstractAdapayConfig config = AdapayConfigFactory.getConfig(wechatAppId);
|
||
System.out.println(JSON.toJSONString(config));
|
||
|
||
AbstractAdapayConfig config2 = AdapayConfigFactory.getConfig(wechatAppId1);
|
||
System.out.println(JSON.toJSONString(config2));
|
||
}
|
||
|
||
// 需要重新分账的订单信息(针对未分账的订单)
|
||
public JSONArray getPaymentList() {
|
||
String jsonArrayString = "[" +
|
||
"{\"orderCode\":\"C61421216123\", \"settleAmount\":\"14.84\", \"paymentId\":\"002212023110201350110565844431233073152\"}" +
|
||
"]";
|
||
return JSONArray.parseArray(jsonArrayString);
|
||
}
|
||
|
||
/**
|
||
* 批量执行分账
|
||
*/
|
||
@Test
|
||
public void batchCreatePaymentConfirm() {
|
||
JSONArray paymentList = getPaymentList();
|
||
// TODO 获取默认结算账户,如需分给对应商户就填写正确的汇付会员id
|
||
// AdapayMemberAccount adapayMemberAccount = adapayMemberAccountService.getDefault();
|
||
AdapayMemberAccount adapayMemberAccount = new AdapayMemberAccount();
|
||
adapayMemberAccount.setAdapayMemberId("ACM23253592");
|
||
for (int i = 0; i < paymentList.size(); i++) {
|
||
JSONObject jsonObject = (JSONObject) paymentList.get(i);
|
||
BigDecimal confirmAmt = jsonObject.getBigDecimal("settleAmount"); // 确认金额就是结算金额
|
||
String paymentId = jsonObject.getString("paymentId"); // 支付id
|
||
String orderCode = jsonObject.getString("orderCode"); // 订单编号
|
||
|
||
// 延时分账,使用确认交易API
|
||
PaymentConfirmResponse paymentConfirmResponse = adapayService.createPaymentConfirmRequest(paymentId,
|
||
adapayMemberAccount, confirmAmt, orderCode, wechatAppId1);
|
||
System.out.println(JSON.toJSONString(paymentConfirmResponse));
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 查询分账信息
|
||
* @throws BaseAdaPayException
|
||
*/
|
||
@Test
|
||
public void queryCreateConfirmReverse() throws BaseAdaPayException {
|
||
List<String> paymentIdList = getPaymentIdList(); // 查询分账信息
|
||
|
||
List<String> unSplitList = Lists.newArrayList(); //
|
||
List<String> splitList = Lists.newArrayList(); //
|
||
|
||
BigDecimal total = BigDecimal.ZERO;
|
||
List<String> selfList = Lists.newArrayList();
|
||
|
||
Map<String, BigDecimal> map = Maps.newHashMap();
|
||
for (String paymentId : paymentIdList) {
|
||
if (StringUtils.isBlank(paymentId)) {
|
||
continue;
|
||
}
|
||
// 查询支付确认id
|
||
QueryPaymentConfirmDTO dto = new QueryPaymentConfirmDTO();
|
||
dto.setPaymentId(paymentId);
|
||
dto.setWechatAppId(wechatAppId1);
|
||
// 查询分账信息
|
||
QueryPaymentConfirmDetailResponse response = adapayService.queryPaymentConfirmList(dto);
|
||
if (response != null) {
|
||
List<QueryPaymentConfirmDetailResponse.PaymentConfirmInfo> confirms = response.getPaymentConfirms();
|
||
if (CollectionUtils.isEmpty(confirms)) {
|
||
unSplitList.add(paymentId);
|
||
} else {
|
||
splitList.add(paymentId);
|
||
for (QueryPaymentConfirmDetailResponse.PaymentConfirmInfo confirm : confirms) {
|
||
if (queryConfirmReverseStatus(confirm)) {
|
||
System.out.println("支付确认id:" + confirm.getId() + "撤销了。。。");
|
||
continue;
|
||
}
|
||
JSONObject jsonObject = JSON.parseObject(confirm.getDescription());
|
||
String adapayMemberId = jsonObject.getString("adapayMemberId");
|
||
BigDecimal confirmedAmt = new BigDecimal(confirm.getConfirmedAmt());
|
||
|
||
total = total.add(confirmedAmt);
|
||
|
||
// 放map
|
||
map.merge(adapayMemberId, confirmedAmt, BigDecimal::add);
|
||
|
||
if (StringUtils.equals(adapayMemberId, "0")) {
|
||
selfList.add(paymentId);
|
||
}
|
||
}
|
||
}
|
||
} else {
|
||
unSplitList.add(paymentId);
|
||
}
|
||
}
|
||
System.out.println("=================未分账:" + JSON.toJSONString(unSplitList) + ", 数量:" + unSplitList.size());
|
||
System.out.println("=================已分账:" + JSON.toJSONString(map) + ", 总分账:" + total + ", 数量:" + splitList.size());
|
||
System.out.println("=================自己:" + JSON.toJSONString(selfList) + ", 数量:" + selfList.size());
|
||
}
|
||
|
||
private boolean queryConfirmReverseStatus(QueryPaymentConfirmDetailResponse.PaymentConfirmInfo confirm) throws BaseAdaPayException {
|
||
boolean result = false;
|
||
|
||
QueryConfirmReverseDTO dto = QueryConfirmReverseDTO.builder()
|
||
.paymentConfirmId(confirm.getId())
|
||
.wechatAppId(wechatAppId1)
|
||
.build();
|
||
ConfirmReverseResponse confirmReverseResponse = adapayService.queryConfirmReverse(dto);
|
||
if (confirmReverseResponse.isSuccess()) {
|
||
result = true;
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* 延迟分账未确认调撤销调撤销接口退款
|
||
*/
|
||
@Test
|
||
public void createPaymentReverseRequestTest() {
|
||
String paymentId = "002212023082409392010540599165461884928";
|
||
BigDecimal refundAmount = new BigDecimal("0.09");
|
||
String memberId = null;
|
||
|
||
// 延迟分账未确认调撤销调撤销接口退款
|
||
PaymentReverseOperation operation = new PaymentReverseOperation();
|
||
operation.setPaymentId(paymentId);
|
||
operation.setReverseAmt(refundAmount);
|
||
operation.setMerchantKey(wechatAppId2);
|
||
operation.setMemberId(memberId);
|
||
operation.setScenarioType(ScenarioEnum.ORDER.getValue());
|
||
operation.setOrderCode(null);
|
||
PaymentReverseResponse response = adapayService.createPaymentReverseRequest(operation);
|
||
System.out.println(JSON.toJSONString(response));
|
||
}
|
||
|
||
/**
|
||
* 测试创建退款请求
|
||
*/
|
||
@Test
|
||
public void createRefundRequestTest() {
|
||
String paymentId = "0022120231226155420105856296289509498883333";
|
||
BigDecimal refundAmount = new BigDecimal("11.62");
|
||
String memberId = "46487809";
|
||
String orderCode = "C80414417003";
|
||
// 调汇付的交易退款接口
|
||
RefundResponse response = adapayService.createRefundRequest(paymentId, refundAmount,
|
||
wechatAppId2, memberId, ScenarioEnum.ORDER.getValue(), orderCode);
|
||
System.out.println(JSON.toJSONString(response));
|
||
}
|
||
|
||
/**
|
||
* 批量支付确认撤销
|
||
* @throws BaseAdaPayException
|
||
*/
|
||
@Test
|
||
public void testCreateConfirmReverse() throws BaseAdaPayException {
|
||
List<String> list = getPaymentIdList(); // 批量支付确认撤销
|
||
for (String paymentId : list) {
|
||
// 查询支付确认id
|
||
QueryPaymentConfirmDTO dto = new QueryPaymentConfirmDTO();
|
||
dto.setPaymentId(paymentId);
|
||
dto.setWechatAppId(wechatAppId1);
|
||
QueryPaymentConfirmDetailResponse response = adapayService.queryPaymentConfirmList(dto);
|
||
if (response != null) {
|
||
List<QueryPaymentConfirmDetailResponse.PaymentConfirmInfo> confirms = response.getPaymentConfirms();
|
||
System.out.println("支付id:" + paymentId + ", 确认信息:" + JSON.toJSONString(confirms));
|
||
if (CollectionUtils.isNotEmpty(confirms)) {
|
||
for (QueryPaymentConfirmDetailResponse.PaymentConfirmInfo confirm : confirms) {
|
||
adapayService.createConfirmReverse(confirm.getId(), wechatAppId1);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 查询撤销列表
|
||
* @throws BaseAdaPayException
|
||
*/
|
||
@Test
|
||
public void queryPaymentReverseListTest() throws BaseAdaPayException {
|
||
JSONArray jsonList = getJsonList();
|
||
|
||
List<String> idList = Lists.newArrayList();
|
||
for (int i = 0; i < jsonList.size(); i++) {
|
||
JSONObject jsonObject = (JSONObject) jsonList.get(i);
|
||
// System.out.println(JSON.toJSONString());
|
||
BigDecimal refundAmount = jsonObject.getBigDecimal("refundAmount");
|
||
String paymentId = jsonObject.getString("paymentId");
|
||
|
||
adapayService.createPaymentReverseRequest(paymentId, refundAmount, wechatAppId1, "", ScenarioEnum.ORDER.getValue(), "");
|
||
|
||
}
|
||
System.out.println("需要撤销idList:" + idList);
|
||
}
|
||
|
||
public JSONArray getJsonList() {
|
||
String jsonArrayString = "[{\"refundAmount\":\"354.84\", \"paymentId\":\"002212023102509474610563069333816762368\"}]";
|
||
JSONArray jsonArray = JSONArray.parseArray(jsonArrayString);
|
||
return jsonArray;
|
||
}
|
||
|
||
public List<String> getPaymentIdList1() {
|
||
List<String> list = Lists.newArrayList();
|
||
list.add("002212023123120094310587505841172688896");
|
||
list.add("002212023123122400310587543671670943744");
|
||
list.add("002212023123122431610587544481176612864");
|
||
list.add("002212023123122452410587545018595393536");
|
||
list.add("002212023123122513610587546579820982272");
|
||
list.add("002212023123123022610587549306205007872");
|
||
list.add("002212023123123265110587555449673854976");
|
||
list.add("002212023123123322210587556837606133760");
|
||
list.add("002212023123123330910587557036126924800");
|
||
list.add("002212023123123360110587557757009375232");
|
||
list.add("002212023123123401410587558819099357184");
|
||
list.add("002212023123123413110587559141694787584");
|
||
list.add("002212023123123440210587559772455563264");
|
||
list.add("002212023123123453710587560172614279168");
|
||
list.add("002212023123123473510587560665929363456");
|
||
list.add("002212023123123540310587562293905965056");
|
||
list.add("002212024010100055510587565279529545728");
|
||
list.add("002212024010100111210587566610858336256");
|
||
list.add("002212024010100161610587567885665923072");
|
||
list.add("002212024010100171310587568125937037312");
|
||
list.add("002212024010100212010587569159081054208");
|
||
list.add("002212024010100333210587572229908312064");
|
||
list.add("002212024010100354710587572798733824000");
|
||
list.add("002212024010100355410587572824837558272");
|
||
list.add("002212024010100453010587575244653170688");
|
||
list.add("002212024010100463710587575524919209984");
|
||
list.add("002212024010100483210587576005711474688");
|
||
list.add("002212024010100490510587576146260353024");
|
||
list.add("002212024010100531710587577200302600192");
|
||
list.add("002212024010100590310587578651625672704");
|
||
list.add("002212024010100592310587578738329661440");
|
||
list.add("002212024010101084210587581081364344832");
|
||
list.add("002212024010101164410587583103755644928");
|
||
list.add("002212024010101221910587584507786326016");
|
||
list.add("002212024010101293410587586332936335360");
|
||
list.add("002212024010101363510587588099453202432");
|
||
list.add("002212024010101453810587590376924139520");
|
||
list.add("002212024010101464010587590635768733696");
|
||
list.add("002212024010101522910587592100320493568");
|
||
list.add("002212024010101525510587592208191188992");
|
||
list.add("002212024010101541910587592559441592320");
|
||
list.add("002212024010101585310587593711648616448");
|
||
list.add("002212024010102020710587594522993643520");
|
||
list.add("002212024010102040510587595017831821312");
|
||
list.add("002212024010102102010587596591836672000");
|
||
list.add("002212024010102140610587597539817435136");
|
||
list.add("002212024010102155610587598001906487296");
|
||
list.add("002212024010102262110587600624247418880");
|
||
list.add("002212024010102321310587602099660959744");
|
||
list.add("002212024010102412710587604420976832512");
|
||
list.add("002212024010102452110587605402488123392");
|
||
list.add("002212024010102460310587605580622966784");
|
||
list.add("002212024010102584610587608779179667456");
|
||
list.add("002212024010103235510587615109565345792");
|
||
list.add("002212024010103392810587619021102362624");
|
||
list.add("002212024010103440310587620176435916800");
|
||
list.add("002212024010103513010587622049869840384");
|
||
list.add("002212024010104042910587625318931902464");
|
||
list.add("002212024010104054410587625634899013632");
|
||
list.add("002212024010104084010587626373204430848");
|
||
list.add("002212024010104141510587627776419803136");
|
||
list.add("002212024010104175610587628701984591872");
|
||
list.add("002212024010104304510587631928560807936");
|
||
list.add("002212024010104322010587632328220807168");
|
||
list.add("002212024010104324110587632416288911360");
|
||
list.add("002212024010104363110587633379103313920");
|
||
list.add("002212024010104492010587636603904978944");
|
||
list.add("002212024010104514610587637216903213056");
|
||
list.add("002212024010104515910587637271696527360");
|
||
list.add("002212024010105055610587640783562829824");
|
||
list.add("002212024010105083410587641446484430848");
|
||
list.add("002212024010105115310587642281884930048");
|
||
list.add("002212024010105171710587643639724470272");
|
||
list.add("002212024010105172610587643676384235520");
|
||
list.add("002212024010105290110587646591839203328");
|
||
list.add("002212024010105354510587648288091238400");
|
||
list.add("002212024010105424610587650052354695168");
|
||
list.add("002212024010105472710587651230886637568");
|
||
list.add("002212024010105485710587651608062480384");
|
||
list.add("002212024010105550210587653139187744768");
|
||
list.add("002212024010106255910587660929595322368");
|
||
list.add("002212024010106362010587663532982734848");
|
||
list.add("002212024010106465010587666175134908416");
|
||
list.add("002212024010108060310587686108962426880");
|
||
list.add("002212024010108082010587686684481138688");
|
||
list.add("002212024010108195410587689594420301824");
|
||
list.add("002212024010108313210587692523257708544");
|
||
list.add("002212024010108344010587693310568263680");
|
||
list.add("002212024010108402210587694746871296000");
|
||
list.add("002212024010109250010587705977994760192");
|
||
list.add("002212024010109275410587706710921535488");
|
||
list.add("002212024010109284710587706932339609600");
|
||
list.add("002212024010109345810587708488281878528");
|
||
list.add("002212024010109435910587710756420784128");
|
||
list.add("002212024010109535710587713266683621376");
|
||
list.add("002212024010109542410587713380016484352");
|
||
list.add("002212024010109542810587713394553348096");
|
||
list.add("002212024010111013210587730271301648384");
|
||
list.add("002212024010111200010587734921326383104");
|
||
list.add("002212024010111294310587737366380634112");
|
||
list.add("002212024010111362710587739057628864512");
|
||
list.add("002212024010111364210587739122150436864");
|
||
list.add("002212024010111410210587740212861038592");
|
||
list.add("002212024010111555710587743968653357056");
|
||
list.add("002212024010111563110587744107855720448");
|
||
list.add("002212024010112000110587744990767493120");
|
||
list.add("002212024010112065410587746724595744768");
|
||
list.add("002212024010112175110587749480113594368");
|
||
list.add("002212024010112184610587749707780042752");
|
||
list.add("002212024010112234110587750945012015104");
|
||
list.add("002212024010112265310587751753133166592");
|
||
list.add("002212024010112280210587752041639428096");
|
||
list.add("002212024010112285410587752258500661248");
|
||
list.add("002212024010112315110587753003083739136");
|
||
list.add("002212024010112355610587754027385053184");
|
||
list.add("002212024010112365710587754284579401728");
|
||
list.add("002212024010112401610587755120600248320");
|
||
list.add("002212024010112470810587756849799323648");
|
||
list.add("002212024010112495110587757532133961728");
|
||
list.add("002212024010112524810587758274302996480");
|
||
list.add("002212024010112572010587759414891532288");
|
||
list.add("002212024010113064010587761761673834496");
|
||
list.add("002212024010113081410587762159145676800");
|
||
list.add("002212024010113085910587762347727630336");
|
||
list.add("002212024010113090010587762349809618944");
|
||
list.add("002212024010113133610587763507262435328");
|
||
list.add("002212024010113154110587764031394541568");
|
||
list.add("002212024010113180310587764628013314048");
|
||
list.add("002212024010113201610587765185693716480");
|
||
list.add("002212024010113223510587765768315252736");
|
||
list.add("002212024010113231810587765948404346880");
|
||
list.add("002212024010113302310587767731656372224");
|
||
list.add("002212024010113383510587769795996332032");
|
||
list.add("002212024010113392510587770005261004800");
|
||
list.add("002212024010113420010587770656982929408");
|
||
list.add("002212024010113465910587771908961296384");
|
||
list.add("002212024010113510410587772935902638080");
|
||
list.add("002212024010113522210587773263143268352");
|
||
list.add("002212024010113530510587773443319410688");
|
||
list.add("002212024010113553610587774078411583488");
|
||
list.add("002212024010114152310587779055676682240");
|
||
list.add("002212024010114182010587779799303524352");
|
||
list.add("002212024010114185010587779924765831168");
|
||
list.add("002212024010114203410587780362766151680");
|
||
list.add("002212024010114294610587782677154213888");
|
||
list.add("002212024010114314110587783158557798400");
|
||
list.add("002212024010114333810587783647735623680");
|
||
list.add("002212024010114362910587784366665699328");
|
||
list.add("002212024010114425610587785991848681472");
|
||
list.add("002212024010114464710587786959716741120");
|
||
list.add("002212024010114470510587787032735379456");
|
||
list.add("002212024010114513010587788147330494464");
|
||
list.add("002212024010114593510587790181018853376");
|
||
list.add("002212024010115040410587791308137984000");
|
||
list.add("002212024010115100410587792817603342336");
|
||
list.add("002212024010115153410587794201183301632");
|
||
list.add("002212024010115155610587794294099783680");
|
||
list.add("002212024010115194510587795253400989696");
|
||
list.add("002212024010115195310587795286480433152");
|
||
list.add("002212024010115273110587797211555180544");
|
||
list.add("002212024010115293510587797731475959808");
|
||
list.add("002212024010115550510587804148735913984");
|
||
list.add("002212024010116015210587805855204970496");
|
||
list.add("002212024010116071010587807186250870784");
|
||
list.add("002212024010116155210587809379322408960");
|
||
list.add("002212024010116155310587809382375559168");
|
||
list.add("002212024010116244210587811598946234368");
|
||
list.add("002212024010116252810587811793714786304");
|
||
list.add("002212024010116394310587815379974426624");
|
||
list.add("002212024010116423010587816080032952320");
|
||
list.add("002212024010116471310587817268738912256");
|
||
list.add("002212024010116543710587819128237084672");
|
||
list.add("002212024010116590010587820230151385088");
|
||
list.add("002212024010117023810587821148423974912");
|
||
list.add("002212024010117061310587822046777143296");
|
||
list.add("002212024010117163010587824636684005376");
|
||
list.add("002212024010117215510587825998712123392");
|
||
list.add("002212024010117434210587831482470219776");
|
||
list.add("002212024010117594310587835513131200512");
|
||
list.add("002212024010118012510587835941146980352");
|
||
list.add("002212024010118012710587835946178560000");
|
||
list.add("002212024010118072810587837461681258497");
|
||
list.add("002212024010118120010587838602681036800");
|
||
list.add("002212024010118171910587839942456012800");
|
||
list.add("002212024010118212010587840950350491648");
|
||
list.add("002212024010118244110587841797011927040");
|
||
list.add("002212024010118265310587842350422528000");
|
||
list.add("002212024010118274210587842553837105152");
|
||
list.add("002212024010119010410587850952624271360");
|
||
list.add("002212024010119040010587851688592257024");
|
||
list.add("002212024010119093710587853104418500608");
|
||
list.add("002212024010119294010587858149696221184");
|
||
list.add("002212024010119300310587858243646173184");
|
||
list.add("002212024010119344910587859446161956865");
|
||
list.add("002212024010119411310587861055808860160");
|
||
list.add("002212024010119413210587861134952325120");
|
||
list.add("002212024010119432010587861586028376064");
|
||
list.add("002212024010119482610587862871785717760");
|
||
list.add("002212024010119500710587863296462491648");
|
||
list.add("002212024010119551710587864594062536704");
|
||
list.add("002212024010119581010587865321401860096");
|
||
list.add("002212024010120052010587867122482917376");
|
||
list.add("002212024010120115410587868777522524160");
|
||
list.add("002212024010120115610587868785017376768");
|
||
list.add("002212024010120175910587870308316622848");
|
||
list.add("002212024010120344010587874507950157824");
|
||
list.add("002212024010120351510587874653095473152");
|
||
list.add("002212024010120352310587874688672223232");
|
||
list.add("002212024010120484310587878042802974720");
|
||
list.add("002212024010120564010587880041575288832");
|
||
list.add("002212024010121001110587880927430987776");
|
||
list.add("002212024010121041710587881959018442752");
|
||
list.add("002212024010121093010587883271965618176");
|
||
list.add("002212024010121170110587885162538688512");
|
||
list.add("002212024010121235110587886883903090688");
|
||
list.add("002212024010121290310587888192477220864");
|
||
list.add("002212024010121314310587888864742543360");
|
||
list.add("002212024010121322710587889047312908288");
|
||
list.add("002212024010121392010587890779513925632");
|
||
list.add("002212024010121403210587891082536792064");
|
||
list.add("002212024010121454210587892382994837504");
|
||
list.add("002212024010121484210587893137471639552");
|
||
list.add("002212024010121491710587893283591663616");
|
||
list.add("002212024010121533210587894352423796736");
|
||
list.add("002212024010121550410587894740312158208");
|
||
list.add("002212024010121553810587894883924938752");
|
||
list.add("002212024010122025510587896716515471360");
|
||
list.add("002212024010122060810587897525413711872");
|
||
list.add("002212024010122070410587897758243909632");
|
||
list.add("002212024010122222310587901615335682048");
|
||
list.add("002212024010122222610587901626182815744");
|
||
list.add("002212024010122280810587903061471367168");
|
||
list.add("002212024010122294910587903486926630912");
|
||
list.add("002212024010122301910587903609453654016");
|
||
list.add("002212024010122305310587903751312928768");
|
||
list.add("002212024010122314210587903957593165824");
|
||
list.add("002212024010122411210587906348338057216");
|
||
list.add("002212024010122444010587907222469459968");
|
||
list.add("002212024010122463810587907718916222976");
|
||
list.add("002212024010122485110587908273410174976");
|
||
list.add("002212024010122511910587908894959296512");
|
||
list.add("002212024010122553910587909986140598272");
|
||
list.add("002212024010122561610587910140736942080");
|
||
list.add("002212024010122585210587910795688439808");
|
||
list.add("002212024010123035910587912082679885824");
|
||
list.add("002212024010123083910587913256431882240");
|
||
list.add("002212024010123104410587913782223720448");
|
||
list.add("002212024010123123410587914243652415488");
|
||
list.add("002212024010123175010587915568875958272");
|
||
list.add("002212024010123251610587917437196263424");
|
||
list.add("002212024010123383610587920793564893184");
|
||
list.add("002212024010123490010587923413213491200");
|
||
list.add("002212024010123571910587925502953926656");
|
||
list.add("002212024010200022810587926799163371520");
|
||
list.add("002212024010200060010587927691786825728");
|
||
list.add("002212024010200072110587928028593221632");
|
||
list.add("002212024010200085210587928410213519360");
|
||
list.add("002212024010200090510587928467056209920");
|
||
list.add("002212024010200134510587929640837951488");
|
||
list.add("002212024010200195710587931199639588864");
|
||
list.add("002212024010200235210587932185891287040");
|
||
list.add("002212024010200265810587932967313715200");
|
||
list.add("002212024010200343610587934889529683968");
|
||
list.add("002212024010200350810587935023288750080");
|
||
list.add("002212024010200405910587936496013381632");
|
||
list.add("002212024010200552710587940135883001856");
|
||
list.add("002212024010201002110587941369250033664");
|
||
list.add("002212024010201044410587942472242933760");
|
||
list.add("002212024010201112610587944157853544448");
|
||
list.add("002212024010201150610587945077956980736");
|
||
list.add("002212024010201250510587947592709591040");
|
||
list.add("002212024010201260410587947839802814464");
|
||
list.add("002212024010201335510587949816334716928");
|
||
list.add("002212024010201393910587951259971006464");
|
||
list.add("002212024010201414810587951797401268224");
|
||
list.add("002212024010201470310587953120119320576");
|
||
list.add("002212024010201530810587954651259760640");
|
||
list.add("002212024010202005210587956595543388160");
|
||
list.add("002212024010202045910587957633309241344");
|
||
list.add("002212024010202062010587957971628453888");
|
||
list.add("002212024010202143810587960063521501184");
|
||
list.add("002212024010202172810587960776558579712");
|
||
list.add("002212024010202210010587961663278305280");
|
||
list.add("002212024010202232410587962267887595520");
|
||
list.add("002212024010202285610587963659121086464");
|
||
list.add("002212024010202405010587966653878874112");
|
||
list.add("002212024010202462010587968039345565696");
|
||
list.add("002212024010202464710587968152977420288");
|
||
list.add("002212024010202472010587968289935765504");
|
||
list.add("002212024010203005210587971697582116864");
|
||
list.add("002212024010203025610587972216528416768");
|
||
list.add("002212024010203130910587974786518396928");
|
||
list.add("002212024010203215610587977000302915584");
|
||
list.add("002212024010203225210587977233932967936");
|
||
list.add("002212024010203311010587979321185628160");
|
||
list.add("002212024010203331110587979830136909824");
|
||
list.add("002212024010203385410587981269780357120");
|
||
list.add("002212024010204344810587995335850831872");
|
||
list.add("002212024010204372710587996004090056704");
|
||
list.add("002212024010204402910587996764055998464");
|
||
list.add("002212024010204532510588000020031279104");
|
||
list.add("002212024010205082310588003788085243904");
|
||
list.add("002212024010205215710588007199975084032");
|
||
list.add("002212024010205270410588008488978231296");
|
||
list.add("002212024010205310810588009510742986752");
|
||
list.add("002212024010205374010588011157745332224");
|
||
list.add("002212024010205454410588013185485795328");
|
||
list.add("002212024010205482210588013849011916800");
|
||
list.add("002212024010205540210588015276376174592");
|
||
list.add("002212024010205590710588016554218205184");
|
||
list.add("002212024010206104210588019471038304256");
|
||
list.add("002212024010206380110588026344100048896");
|
||
list.add("002212024010206432510588027702184816640");
|
||
list.add("002212024010207515410588044937140916224");
|
||
list.add("002212024010208033410588047871729930240");
|
||
list.add("002212024010208570010588061322167304192");
|
||
list.add("002212024010209020110588062583494119424");
|
||
list.add("002212024010209062110588063673090412544");
|
||
list.add("002212024010209141610588065667673714688");
|
||
list.add("002212024010209284010588069289121525760");
|
||
list.add("002212024010209341310588070684513923072");
|
||
list.add("002212024010209585810588076916300951552");
|
||
list.add("002212024010210012110588077515127091200");
|
||
list.add("002212024010210043610588078334757789696");
|
||
list.add("002212024010210051710588078504204070912");
|
||
list.add("002212024010210191110588082001824411648");
|
||
list.add("002212024010210262010588083800503201792");
|
||
list.add("002212024010210285210588084438561394688");
|
||
list.add("002212024010210310810588085009823322112");
|
||
list.add("002212024010210514610588090200679452672");
|
||
list.add("002212024010210563310588091408107581440");
|
||
list.add("002212024010211033610588093178895339520");
|
||
list.add("002212024010211061010588093826201071616");
|
||
list.add("002212024010211164110588096472450035712");
|
||
list.add("002212024010211190810588097089502294016");
|
||
list.add("002212024010211450810588103631819386880");
|
||
list.add("002212024010211533810588105771858374656");
|
||
list.add("002212024010211570110588106623949955072");
|
||
list.add("002212024010212013610588107777443741696");
|
||
list.add("002212024010212082610588109495832252416");
|
||
list.add("002212024010212135510588110874406514688");
|
||
list.add("002212024010212185910588112150797987840");
|
||
list.add("002212024010212225210588113129438162944");
|
||
list.add("002212024010212270410588114185470128128");
|
||
list.add("002212024010212334810588115879275147264");
|
||
list.add("002212024010212372010588116768701526016");
|
||
list.add("002212024010212441310588118502271234048");
|
||
list.add("002212024010212450110588118702901571584");
|
||
list.add("002212024010212463610588119099353960448");
|
||
list.add("002212024010212511410588120266146607104");
|
||
list.add("002212024010213065210588124203721928704");
|
||
list.add("002212024010213083110588124618544402432");
|
||
list.add("002212024010213093210588124871897509888");
|
||
list.add("002212024010213131110588125790045147136");
|
||
list.add("002212024010213134010588125913819758592");
|
||
list.add("002212024010213152310588126345600917504");
|
||
list.add("002212024010213191110588127299787157504");
|
||
list.add("002212024010213214810588127961054474240");
|
||
list.add("002212024010213282010588129604805373952");
|
||
list.add("002212024010213304710588130219506823168");
|
||
list.add("002212024010213370310588131797605314560");
|
||
list.add("002212024010213401710588132612818034688");
|
||
list.add("002212024010213410210588132798781960192");
|
||
list.add("002212024010213414310588132971219800064");
|
||
list.add("002212024010213443110588133678627991552");
|
||
list.add("002212024010213461210588134100109062144");
|
||
list.add("002212024010213480210588134563329183744");
|
||
list.add("002212024010213482210588134645195452416");
|
||
list.add("002212024010213502310588135153347964928");
|
||
list.add("002212024010213562310588136664799768576");
|
||
list.add("002212024010214001110588137619261689856");
|
||
list.add("002212024010214094010588140006084907008");
|
||
list.add("002212024010214113110588140471987834880");
|
||
list.add("002212024010214121110588140637807726592");
|
||
list.add("002212024010214141610588141164638203904");
|
||
list.add("002212024010214212010588142940844863488");
|
||
list.add("002212024010214233610588143511308185600");
|
||
list.add("002212024010214244210588143787881754624");
|
||
list.add("002212024010214270310588144382287785984");
|
||
list.add("002212024010214342210588146220114755584");
|
||
list.add("002212024010214364010588146801407143936");
|
||
list.add("002212024010214392510588147490755203072");
|
||
list.add("002212024010214412810588148009558126592");
|
||
list.add("002212024010214452610588149008782438400");
|
||
list.add("002212024010214473310588149539794710528");
|
||
list.add("002212024010214480310588149667356848128");
|
||
list.add("002212024010214522910588150778919084032");
|
||
list.add("002212024010214531810588150988386447360");
|
||
list.add("002212024010214575410588152143487578112");
|
||
list.add("002212024010215150210588156455442034688");
|
||
list.add("002212024010215161410588156759169167360");
|
||
list.add("002212024010215162310588156797282807808");
|
||
list.add("002212024010215201910588157785294794752");
|
||
list.add("002212024010215211110588158001616195584");
|
||
list.add("002212024010215213810588158118552625152");
|
||
list.add("002212024010215243810588158872588587008");
|
||
list.add("002212024010215244010588158879847378944");
|
||
list.add("002212024010215265610588159452001120256");
|
||
list.add("002212024010215405010588162948765462528");
|
||
list.add("002212024010215560110588166768073519104");
|
||
list.add("002212024010216093110588170164994420736");
|
||
list.add("002212024010216350410588176598057029632");
|
||
list.add("002212024010216460710588179376368193536");
|
||
list.add("002212024010217091310588185193104306176");
|
||
list.add("002212024010217251110588189207212429312");
|
||
list.add("002212024010218284610588205209002283008");
|
||
list.add("002212024010218361110588207076930596864");
|
||
list.add("002212024010218411910588208370480254976");
|
||
list.add("002212024010218473610588209948223713280");
|
||
list.add("002212024010218524510588211245956665344");
|
||
list.add("002212024010218554210588211989089316864");
|
||
list.add("002212024010219071710588214902837587968");
|
||
list.add("002212024010219084810588215286646566912");
|
||
list.add("002212024010219162410588217198530379776");
|
||
list.add("002212024010219444010588224313022853120");
|
||
list.add("002212024010219453910588224557521850368");
|
||
list.add("002212024010219565610588227396577030144");
|
||
list.add("002212024010220041110588229221186756608");
|
||
list.add("002212024010220052310588229523761672192");
|
||
list.add("002212024010220055810588229672841621504");
|
||
list.add("002212024010220090910588230471112339456");
|
||
list.add("002212024010220091710588230506425577472");
|
||
list.add("002212024010220334210588236649126801408");
|
||
list.add("002212024010220371810588237556971253760");
|
||
list.add("002212024010220395610588238218338701312");
|
||
list.add("002212024010220495910588240750746038272");
|
||
list.add("002212024010220562810588242381546831872");
|
||
list.add("002212024010220575610588242749498290176");
|
||
list.add("002212024010220582310588242862956064768");
|
||
list.add("002212024010221024510588243961435230208");
|
||
list.add("002212024010221103810588245944919240704");
|
||
list.add("002212024010221153210588247180756082688");
|
||
list.add("002212024010221222810588248923041673216");
|
||
list.add("002212024010221225210588249025868566528");
|
||
list.add("002212024010221275910588250311651880960");
|
||
list.add("002212024010221330010588251575142432768");
|
||
list.add("002212024010221411910588253667535482880");
|
||
list.add("002212024010221492310588255696351424512");
|
||
list.add("002212024010221573910588257779047747584");
|
||
list.add("002212024010221575410588257839425826816");
|
||
list.add("002212024010222003110588258498977841152");
|
||
list.add("002212024010222003910588258533482475520");
|
||
list.add("002212024010222023110588259001395679232");
|
||
list.add("002212024010222044110588259549627412480");
|
||
list.add("002212024010222085810588260626114048000");
|
||
list.add("002212024010222091810588260710678638592");
|
||
list.add("002212024010222114310588261316212699136");
|
||
list.add("002212024010222130810588261674455166976");
|
||
list.add("002212024010222132710588261753383391232");
|
||
list.add("002212024010222190010588263149524180992");
|
||
list.add("002212024010222230210588264166467334144");
|
||
list.add("002212024010222281910588265494650310656");
|
||
list.add("002212024010222285610588265651687329792");
|
||
list.add("002212024010222285710588265655008014336");
|
||
list.add("002212024010222302710588266034160168960");
|
||
list.add("002212024010222323310588266561408987136");
|
||
list.add("002212024010222332110588266761893228544");
|
||
list.add("002212024010222350810588267209070456832");
|
||
list.add("002212024010222365510588267657953656832");
|
||
list.add("002212024010222423810588269097528086528");
|
||
list.add("002212024010222424910588269143013036032");
|
||
list.add("002212024010222441410588269501821972480");
|
||
list.add("002212024010222501010588270991924375552");
|
||
list.add("002212024010222501810588271026265763840");
|
||
list.add("002212024010222503710588271108880969728");
|
||
list.add("002212024010222574410588272898262151168");
|
||
list.add("002212024010223020610588273996683259904");
|
||
list.add("002212024010223041410588274534031847424");
|
||
list.add("002212024010223045510588274706902175744");
|
||
list.add("002212024010223135610588276975620263936");
|
||
list.add("002212024010223181410588278059220185088");
|
||
list.add("002212024010223183410588278141769445376");
|
||
list.add("002212024010223220010588279003598254080");
|
||
list.add("002212024010223383310588283168769028096");
|
||
list.add("002212024010223440710588284569480876032");
|
||
list.add("002212024010223495510588286032253513728");
|
||
list.add("002212024010223551810588287384104235008");
|
||
list.add("002212024010223563210588287694306570240");
|
||
list.add("002212024010223582210588288157804417024");
|
||
list.add("002212024010223584410588288248567238656");
|
||
list.add("002212024010300051110588289874252025856");
|
||
list.add("002212024010300100810588291119947067392");
|
||
list.add("002212024010300105810588291328032485376");
|
||
list.add("002212024010300132710588291953898074112");
|
||
list.add("002212024010300134910588292043308052480");
|
||
list.add("002212024010300144010588292259079892992");
|
||
list.add("002212024010300162610588292704825729024");
|
||
list.add("002212024010300163910588292759636111360");
|
||
list.add("002212024010300271010588295403730329600");
|
||
list.add("002212024010300293810588296026979807232");
|
||
list.add("002212024010300322810588296739463647232");
|
||
list.add("002212024010300393910588298548261810176");
|
||
list.add("002212024010300460810588300178284199936");
|
||
list.add("002212024010300511710588301474355441664");
|
||
list.add("002212024010300521410588301714043482112");
|
||
list.add("002212024010300584110588303336418078720");
|
||
list.add("002212024010301022210588304263362424832");
|
||
list.add("002212024010301084010588305847245299712");
|
||
list.add("002212024010301094110588306105868103680");
|
||
list.add("002212024010301100110588306188277235712");
|
||
list.add("002212024010301142810588307309093318656");
|
||
list.add("002212024010301172110588308033749323776");
|
||
list.add("002212024010301215110588309165583511552");
|
||
list.add("002212024010301225510588309434112634880");
|
||
list.add("002212024010301262210588310304029249536");
|
||
list.add("002212024010301300510588311239366651904");
|
||
list.add("002212024010301382610588313338375155712");
|
||
list.add("002212024010301430110588314494561792000");
|
||
list.add("002212024010301525710588316994012852224");
|
||
list.add("002212024010301531710588317078748950528");
|
||
list.add("002212024010301572810588318127794118656");
|
||
list.add("002212024010301595610588318750772948992");
|
||
list.add("002212024010302065610588320511266086912");
|
||
list.add("002212024010302123510588321933981609984");
|
||
list.add("002212024010302301110588326362138300416");
|
||
list.add("002212024010302314410588326752357289984");
|
||
list.add("002212024010302332410588327174218838016");
|
||
list.add("002212024010302365610588328062808854528");
|
||
list.add("002212024010302382910588328451367260160");
|
||
list.add("002212024010302450410588330108509687808");
|
||
list.add("002212024010303035510588334852622118912");
|
||
list.add("002212024010303064710588335575547793408");
|
||
list.add("002212024010303222110588339492330811392");
|
||
list.add("002212024010303400510588343954447118336");
|
||
list.add("002212024010303434010588344855099371520");
|
||
list.add("002212024010303502310588346545180209152");
|
||
list.add("002212024010304113710588351887976919040");
|
||
list.add("002212024010304444410588360225534652416");
|
||
list.add("002212024010304465410588360769189928960");
|
||
list.add("002212024010304530710588362332934000640");
|
||
list.add("002212024010305012710588364432473288704");
|
||
list.add("002212024010305430410588374903073910784");
|
||
list.add("002212024010305512110588376990229401600");
|
||
list.add("002212024010305552910588378030106415104");
|
||
list.add("002212024010306001310588379220843794432");
|
||
list.add("002212024010306230410588384970404769792");
|
||
list.add("002212024010308122110588412471596265472");
|
||
list.add("002212024010308510310588422211168309248");
|
||
list.add("002212024010308540710588422982278516736");
|
||
list.add("002212024010309065710588426211075407872");
|
||
list.add("002212024010309193610588429394739048448");
|
||
list.add("002212024010309245510588430735699570688");
|
||
list.add("002212024010309314510588432451943206912");
|
||
list.add("002212024010309325210588432734207983616");
|
||
list.add("002212024010309422310588435130995400704");
|
||
list.add("002212024010310004810588439764258041856");
|
||
list.add("002212024010310241710588445675743719424");
|
||
list.add("002212024010310272410588446457633660928");
|
||
list.add("002212024010310345510588448351891468288");
|
||
list.add("002212024010310390010588449378508435456");
|
||
list.add("002212024010310423210588450266849783808");
|
||
list.add("002212024010310565910588453904908308480");
|
||
list.add("002212024010311011610588454979795177472");
|
||
list.add("002212024010311051210588455972283330560");
|
||
list.add("002212024010311111010588457472020590592");
|
||
list.add("002212024010311120310588457696787722240");
|
||
list.add("002212024010311193210588459579962077184");
|
||
list.add("002212024010311210710588459977200480256");
|
||
list.add("002212024010311254110588461127895977984");
|
||
list.add("002212024010311562310588468852638289920");
|
||
list.add("002212024010311580810588469292489990144");
|
||
list.add("002212024010312055210588471237028810752");
|
||
list.add("002212024010312102410588472380925263872");
|
||
list.add("002212024010312171410588474097065627648");
|
||
list.add("002212024010312224910588475503150329856");
|
||
list.add("002212024010312225110588475511193059328");
|
||
list.add("002212024010312351110588478616659062784");
|
||
list.add("002212024010312424010588480498839367680");
|
||
list.add("002212024010312455710588481323874234368");
|
||
list.add("002212024010312464510588481528523878400");
|
||
list.add("002212024010312551810588483677277237248");
|
||
list.add("002212024010312591010588484652637466624");
|
||
list.add("002212024010312595010588484818033807360");
|
||
list.add("002212024010313093410588487268694994944");
|
||
list.add("002212024010313204410588490078274031616");
|
||
list.add("002212024010313242310588490999574237184");
|
||
list.add("002212024010313253610588491301893197824");
|
||
list.add("002212024010313270510588491675626655744");
|
||
list.add("002212024010313354110588493840294367232");
|
||
list.add("002212024010313370310588494187003924480");
|
||
list.add("002212024010313382410588494526261276672");
|
||
list.add("002212024010313384310588494606845734912");
|
||
list.add("002212024010313413310588495316452216832");
|
||
list.add("002212024010313464810588496639923961856");
|
||
list.add("002212024010313465010588496647215607808");
|
||
list.add("002212024010313513910588497860464959488");
|
||
list.add("002212024010313595510588499938405535744");
|
||
list.add("002212024010314041410588501026869735424");
|
||
list.add("002212024010314101810588502553232191488");
|
||
list.add("002212024010314110110588502733024153600");
|
||
list.add("002212024010314163410588504130212007936");
|
||
list.add("002212024010314173610588504389553446912");
|
||
list.add("002212024010314175610588504474991419392");
|
||
list.add("002212024010314243110588506131795652608");
|
||
list.add("002212024010314253610588506404254887936");
|
||
list.add("002212024010314285710588507246124617728");
|
||
list.add("002212024010314290110588507264246116352");
|
||
list.add("002212024010314300610588507535212163072");
|
||
list.add("002212024010314323110588508142224420864");
|
||
list.add("002212024010314355810588509011807244288");
|
||
list.add("002212024010314371010588509312447266816");
|
||
list.add("002212024010314401110588510075229876224");
|
||
list.add("002212024010314430410588510799369277440");
|
||
list.add("002212024010314432810588510900695101440");
|
||
list.add("002212024010314520210588513056026767360");
|
||
list.add("002212024010314550410588513818758737920");
|
||
list.add("002212024010315001710588515133111709696");
|
||
list.add("002212024010315105010588517787506794496");
|
||
list.add("002212024010315175810588519581321752576");
|
||
list.add("002212024010315375310588524595990454272");
|
||
list.add("002212024010315394510588525065676566528");
|
||
list.add("002212024010315415610588525613699788800");
|
||
list.add("002212024010315430510588525904503877632");
|
||
list.add("002212024010315455710588526624073338880");
|
||
list.add("002212024010315595810588530151167766528");
|
||
list.add("002212024010316065810588531912593838080");
|
||
list.add("002212024010316120510588533199864184832");
|
||
list.add("002212024010316120810588533212916158464");
|
||
list.add("002212024010316205110588535405519187968");
|
||
list.add("002212024010316235610588536183141724160");
|
||
list.add("002212024010316270610588536978876096512");
|
||
list.add("002212024010316314010588538131137540096");
|
||
list.add("002212024010316372010588539553492353024");
|
||
list.add("002212024010316580910588544796007051264");
|
||
list.add("002212024010317320710588553343325302784");
|
||
list.add("002212024010317493010588557715356282880");
|
||
list.add("002212024010317493510588557738262802432");
|
||
list.add("002212024010317530210588558606442016768");
|
||
list.add("002212024010318234910588566353119395840");
|
||
list.add("002212024010318275410588567378311090176");
|
||
list.add("002212024010318342810588569034470834176");
|
||
list.add("002212024010318391010588570215067529216");
|
||
list.add("002212024010318421810588571003635937280");
|
||
list.add("002212024010318490310588572701000667136");
|
||
list.add("002212024010318520410588573460792365056");
|
||
list.add("002212024010319190110588580246226046976");
|
||
list.add("002212024010319362310588584613234708480");
|
||
list.add("002212024010319584210588590232178282496");
|
||
list.add("002212024010320055810588592058296274944");
|
||
list.add("002212024010320083510588592719527456768");
|
||
list.add("002212024010320222410588596195510054912");
|
||
list.add("002212024010320261210588597151713865728");
|
||
list.add("002212024010320495810588603134125821952");
|
||
list.add("002212024010321015510588606141249990656");
|
||
list.add("002212024010321080710588607698392600576");
|
||
list.add("002212024010321102210588608265793417216");
|
||
list.add("002212024010321141710588609252457730048");
|
||
list.add("002212024010321193810588610597186220032");
|
||
list.add("002212024010321294810588613155814227968");
|
||
list.add("002212024010321371710588615040234622976");
|
||
list.add("002212024010321454210588617159238180864");
|
||
list.add("002212024010321501910588618320587898880");
|
||
list.add("002212024010321543010588619374778605568");
|
||
list.add("002212024010321582910588620375549947904");
|
||
list.add("002212024010322001210588620807215362048");
|
||
list.add("002212024010322055310588622235591729152");
|
||
list.add("002212024010322102010588623356830257152");
|
||
list.add("002212024010322114910588623732799467520");
|
||
list.add("002212024010322130910588624067838734336");
|
||
list.add("002212024010322155910588624780198293504");
|
||
list.add("002212024010322174310588625214986809344");
|
||
list.add("002212024010322181010588625327400439808");
|
||
list.add("002212024010322185010588625497497382912");
|
||
list.add("002212024010322261410588627358110838784");
|
||
list.add("002212024010322271810588627628761247744");
|
||
list.add("002212024010322285010588628012854636544");
|
||
list.add("002212024010322290910588628092331110400");
|
||
list.add("002212024010322302410588628405443739648");
|
||
list.add("002212024010322310610588628583616712704");
|
||
list.add("002212024010322310810588628589875675136");
|
||
list.add("002212024010322405710588631062156963840");
|
||
list.add("002212024010322413310588631214958620672");
|
||
list.add("002212024010322482810588632952094994432");
|
||
list.add("002212024010322485610588633071616110592");
|
||
list.add("002212024010322534110588634265568260096");
|
||
list.add("002212024010322535010588634306223648768");
|
||
list.add("002212024010322544210588634520616275968");
|
||
list.add("002212024010322593610588635755208814592");
|
||
list.add("002212024010322595810588635849337040896");
|
||
list.add("002212024010323014710588636303181705216");
|
||
list.add("002212024010323063110588637498049441792");
|
||
list.add("002212024010323143210588639512600993792");
|
||
list.add("002212024010323163810588640042504794112");
|
||
list.add("002212024010323190110588640641230548992");
|
||
list.add("002212024010323195010588640846455631872");
|
||
list.add("002212024010323230810588641679547281408");
|
||
list.add("002212024010323263610588642549219438592");
|
||
list.add("002212024010323282810588643020654350336");
|
||
list.add("002212024010323294110588643328351498240");
|
||
list.add("002212024010323310910588643697556656128");
|
||
list.add("002212024010323331210588644213118595072");
|
||
list.add("002212024010323373310588645306755551232");
|
||
list.add("002212024010323383310588645558268604416");
|
||
list.add("002212024010323403810588646082795909120");
|
||
list.add("002212024010323460010588647430812823552");
|
||
list.add("002212024010323463910588647594904236032");
|
||
list.add("002212024010323501710588648511712931840");
|
||
list.add("002212024010323524610588649133515698176");
|
||
list.add("002212024010323525810588649183868317696");
|
||
list.add("002212024010323553310588649836768112640");
|
||
list.add("002212024010400015410588651434606178304");
|
||
list.add("002212024010400073210588652852808232960");
|
||
list.add("002212024010400144810588654678917533696");
|
||
list.add("002212024010400153210588654864760860672");
|
||
list.add("002212024010400161010588655023463968768");
|
||
list.add("002212024010400244210588657173462396928");
|
||
list.add("002212024010400310910588658796236156928");
|
||
list.add("002212024010400320610588659035085836288");
|
||
list.add("002212024010400342010588659596942577664");
|
||
list.add("002212024010400365610588660250073853952");
|
||
list.add("002212024010400410210588661284288557056");
|
||
list.add("002212024010400433110588661905427640320");
|
||
list.add("002212024010400451710588662350859669504");
|
||
list.add("002212024010400475610588663020835270656");
|
||
list.add("002212024010400493610588663437730918400");
|
||
list.add("002212024010400503810588663697253478400");
|
||
list.add("002212024010400591510588665866423414784");
|
||
list.add("002212024010401023710588666712173948928");
|
||
list.add("002212024010401034710588667007409164288");
|
||
list.add("002212024010401055710588667554027233280");
|
||
list.add("002212024010401143910588669740538507264");
|
||
list.add("002212024010401165510588670311160213504");
|
||
list.add("002212024010401233810588672000971706368");
|
||
list.add("002212024010401283410588673244107681792");
|
||
list.add("002212024010401332310588674455477268480");
|
||
list.add("002212024010401340410588674627292672000");
|
||
list.add("002212024010401365410588675342335328256");
|
||
list.add("002212024010401425510588676854986452992");
|
||
list.add("002212024010401485410588678362704523264");
|
||
list.add("002212024010401583210588680786429456384");
|
||
list.add("002212024010401591110588680949804503040");
|
||
list.add("002212024010402105810588683914319884288");
|
||
list.add("002212024010402140510588684697641259008");
|
||
list.add("002212024010402215710588686680073662464");
|
||
list.add("002212024010402283710588688354597257216");
|
||
list.add("002212024010402364110588690384500142080");
|
||
list.add("002212024010402390710588690999072927744");
|
||
list.add("002212024010402430510588691999265611776");
|
||
list.add("002212024010402494010588693654892212224");
|
||
list.add("002212024010403040810588697293035507712");
|
||
list.add("002212024010403074910588698221672251392");
|
||
list.add("002212024010403135610588699759113887744");
|
||
list.add("002212024010403280710588703328332001280");
|
||
list.add("002212024010403292010588703635602518016");
|
||
list.add("002212024010403324910588704514852110336");
|
||
list.add("002212024010403370210588705572664520704");
|
||
list.add("002212024010403491510588708648709386240");
|
||
list.add("002212024010403572010588710682913976320");
|
||
list.add("002212024010404050310588712623468285952");
|
||
list.add("002212024010404125110588714588209897472");
|
||
list.add("002212024010404134210588714803090305024");
|
||
list.add("002212024010404145710588715117217955840");
|
||
list.add("002212024010404254810588717844720906240");
|
||
list.add("002212024010404372010588720749016010752");
|
||
list.add("002212024010404414810588721874979500032");
|
||
list.add("002212024010404504310588724119215501312");
|
||
list.add("002212024010405135510588729957521145856");
|
||
list.add("002212024010405304710588734201643249664");
|
||
list.add("002212024010405400510588736538924486656");
|
||
list.add("002212024010405414910588736974880083968");
|
||
list.add("002212024010406091410588743877036748800");
|
||
list.add("002212024010407525110588769950634627072");
|
||
list.add("002212024010408132310588775121496150016");
|
||
list.add("002212024010408201610588776851766267904");
|
||
list.add("002212024010408214210588777214077419520");
|
||
list.add("002212024010408251710588778115817320448");
|
||
list.add("002212024010408394510588781755484180480");
|
||
list.add("002212024010408465710588783566198771712");
|
||
list.add("002212024010408495610588784319806509056");
|
||
list.add("002212024010408500410588784350162169856");
|
||
list.add("002212024010409000210588786859766411264");
|
||
list.add("002212024010409035010588787815886204928");
|
||
list.add("002212024010409250610588793169908035584");
|
||
list.add("002212024010409271810588793721313587200");
|
||
list.add("002212024010409313010588794776867532800");
|
||
list.add("002212024010409371010588796203646955520");
|
||
list.add("002212024010409440610588797949646848000");
|
||
list.add("002212024010409550710588800721011372032");
|
||
list.add("002212024010410285810588809239415709696");
|
||
list.add("002212024010410414210588812443227025408");
|
||
list.add("002212024010410583210588816679328690176");
|
||
list.add("002212024010411015410588817528988872704");
|
||
list.add("002212024010411212510588822441652498432");
|
||
list.add("002212024010411411110588827415709511680");
|
||
list.add("002212024010411435310588828094133989376");
|
||
list.add("002212024010411565010588831350880833536");
|
||
list.add("002212024010412042810588833272777191424");
|
||
list.add("002212024010412071910588833989970464768");
|
||
list.add("002212024010412084810588834363891478528");
|
||
list.add("002212024010412093610588834565740965888");
|
||
list.add("002212024010412171810588836503206473728");
|
||
list.add("002212024010412274410588839128307625984");
|
||
list.add("002212024010412373710588841616428351488");
|
||
list.add("002212024010412393210588842099127988224");
|
||
list.add("002212024010412480310588844239962894336");
|
||
list.add("002212024010412500410588844749923151872");
|
||
list.add("002212024010412524210588845413847552000");
|
||
list.add("002212024010412535710588845726919520256");
|
||
list.add("002212024010412562610588846350416769024");
|
||
list.add("002212024010412594710588847195830497280");
|
||
list.add("002212024010413025510588847985126653952");
|
||
list.add("002212024010413043010588848380453974016");
|
||
list.add("002212024010413081410588849322685304832");
|
||
list.add("002212024010413123510588850415461580800");
|
||
list.add("002212024010413154210588851201975562240");
|
||
list.add("002212024010413154510588851212544503808");
|
||
list.add("002212024010413155910588851272189415424");
|
||
list.add("002212024010413234310588853219577688064");
|
||
list.add("002212024010413254210588853715207917568");
|
||
list.add("002212024010413254710588853738347532288");
|
||
list.add("002212024010413313210588855183726022656");
|
||
list.add("002212024010413313810588855210779111424");
|
||
list.add("002212024010413510010588860085185310720");
|
||
list.add("002212024010413511310588860137892589568");
|
||
list.add("002212024010413595710588862334640283648");
|
||
list.add("002212024010414025010588863061961957376");
|
||
list.add("002212024010414043210588863489610067968");
|
||
list.add("002212024010414070410588864126856851456");
|
||
list.add("002212024010414085410588864588454137856");
|
||
list.add("002212024010414122110588865457069993984");
|
||
list.add("002212024010414275110588869359193075712");
|
||
list.add("002212024010414333110588870782290358272");
|
||
list.add("002212024010414335910588870899269857280");
|
||
list.add("002212024010414383710588872066029105152");
|
||
list.add("002212024010414454610588873867632963584");
|
||
list.add("002212024010414504310588875110597808128");
|
||
list.add("002212024010414525910588875682642522112");
|
||
list.add("002212024010414594410588877380671356928");
|
||
list.add("002212024010415014510588877887069949952");
|
||
list.add("002212024010415054010588878874057093120");
|
||
list.add("002212024010415144010588881139975303168");
|
||
list.add("002212024010415153110588881354085470208");
|
||
list.add("002212024010415162310588881573413236736");
|
||
list.add("002212024010415163610588881624463949824");
|
||
list.add("002212024010415255810588883982941360128");
|
||
list.add("002212024010415481710588889599671119872");
|
||
list.add("002212024010415502610588890140471324672");
|
||
list.add("002212024010416161310588896629546512384");
|
||
list.add("002212024010416201010588897622936109056");
|
||
list.add("002212024010416293110588899975141486592");
|
||
list.add("002212024010416315510588900579560935424");
|
||
list.add("002212024010416321110588900647651995648");
|
||
list.add("002212024010416353610588901507228102656");
|
||
list.add("002212024010417161710588911745625972736");
|
||
list.add("002212024010417285510588914925971582976");
|
||
list.add("002212024010417292010588915028813115392");
|
||
list.add("002212024010417590610588922521133756416");
|
||
list.add("002212024010418373610588932209649238016");
|
||
list.add("002212024010418403610588932966138101760");
|
||
list.add("002212024010418452910588934192599511040");
|
||
list.add("002212024010419022010588938435253964800");
|
||
list.add("002212024010419044510588939042245251072");
|
||
list.add("002212024010419153310588941761263022080");
|
||
list.add("002212024010419192410588942730586865664");
|
||
list.add("002212024010419312110588945735925477376");
|
||
list.add("002212024010419371410588947215447080960");
|
||
list.add("002212024010419375310588947378165104640");
|
||
list.add("002212024010419472110588949763756412928");
|
||
list.add("002212024010420161610588957039365414912");
|
||
list.add("002212024010420203610588958129662156800");
|
||
list.add("002212024010420224410588958666927927296");
|
||
list.add("002212024010420445710588964256213757952");
|
||
list.add("002212024010420453510588964415177879552");
|
||
list.add("002212024010421062510588969658403360768");
|
||
list.add("002212024010421133110588971448096288768");
|
||
list.add("002212024010421163610588972222184927232");
|
||
list.add("002212024010421413110588978491522510848");
|
||
list.add("002212024010421422610588978724201869312");
|
||
list.add("002212024010421445010588979327901470720");
|
||
list.add("002212024010421511910588980960245559296");
|
||
list.add("002212024010421554810588982086539431936");
|
||
list.add("002212024010422003210588983277551312896");
|
||
list.add("002212024010422082110588985248077680640");
|
||
list.add("002212024010422140210588986675402682368");
|
||
list.add("002212024010422145810588986911450755072");
|
||
list.add("002212024010422151510588986981235396608");
|
||
list.add("002212024010422185010588987883963224064");
|
||
list.add("002212024010422194810588988128021688320");
|
||
list.add("002212024010422200810588988211674501120");
|
||
list.add("002212024010422230910588988969819451392");
|
||
list.add("002212024010422265810588989932587429888");
|
||
list.add("002212024010422303210588990830041149440");
|
||
list.add("002212024010422305510588990925379584000");
|
||
list.add("002212024010422310910588990982251737088");
|
||
list.add("002212024010422320510588991218743005184");
|
||
list.add("002212024010422332410588991548393111552");
|
||
list.add("002212024010422343910588991863142854656");
|
||
list.add("002212024010422402510588993317260259328");
|
||
list.add("002212024010422443410588994359135186944");
|
||
list.add("002212024010422501310588995780608552960");
|
||
list.add("002212024010422514910588996186601828352");
|
||
list.add("002212024010422534710588996678934458368");
|
||
list.add("002212024010422541210588996785928695808");
|
||
list.add("002212024010422552310588997081644380160");
|
||
list.add("002212024010423003910588998406387552256");
|
||
list.add("002212024010423013810588998654248730624");
|
||
list.add("002212024010423125210589001480431071232");
|
||
list.add("002212024010423130710589001544737107968");
|
||
list.add("002212024010423142410589001868606660608");
|
||
list.add("002212024010423160010589002270959321088");
|
||
list.add("002212024010423213510589003674741837824");
|
||
list.add("002212024010423305010589006004284145664");
|
||
list.add("002212024010423314610589006240653750272");
|
||
list.add("002212024010423331910589006627053531136");
|
||
list.add("002212024010423392710589008173576708096");
|
||
list.add("002212024010423450410589009586705903616");
|
||
list.add("002212024010423464910589010028179353600");
|
||
list.add("002212024010423513710589011233077063680");
|
||
list.add("002212024010423531110589011628081573888");
|
||
list.add("002212024010423535510589011812305219584");
|
||
list.add("002212024010423550610589012110816415744");
|
||
list.add("002212024010423554010589012254302711808");
|
||
list.add("002212024010500002610589013454764355584");
|
||
list.add("002212024010500004810589013543764471808");
|
||
list.add("002212024010500042210589014442056310784");
|
||
list.add("002212024010500103410589016000910962688");
|
||
list.add("002212024010500133610589016765240819712");
|
||
list.add("002212024010500203110589018508770177024");
|
||
list.add("002212024010500204610589018570598584320");
|
||
list.add("002212024010500304210589021068007272448");
|
||
list.add("002212024010500314210589021320216817664");
|
||
list.add("002212024010500325110589021611721342976");
|
||
list.add("002212024010500382510589023009580298240");
|
||
list.add("002212024010500390410589023176143794176");
|
||
list.add("002212024010500463210589025053129093120");
|
||
list.add("002212024010500490210589025683025129472");
|
||
list.add("002212024010500532210589026775019171840");
|
||
list.add("002212024010501003610589028593228034048");
|
||
list.add("002212024010501010810589028727380267008");
|
||
list.add("002212024010501014210589028869839802368");
|
||
list.add("002212024010501092110589030795027443712");
|
||
list.add("002212024010501104310589031139174756352");
|
||
list.add("002212024010501122810589031582697635840");
|
||
list.add("002212024010501170510589032742384943104");
|
||
list.add("002212024010501193210589033358805807104");
|
||
list.add("002212024010501262810589035104355848192");
|
||
list.add("002212024010501375010589037963174096896");
|
||
list.add("002212024010501411910589038840845021184");
|
||
list.add("002212024010501484810589040725143699456");
|
||
list.add("002212024010501502910589041147654303744");
|
||
list.add("002212024010501532810589041900433117184");
|
||
list.add("002212024010501533910589041943373262848");
|
||
list.add("002212024010501554210589042460896989184");
|
||
list.add("002212024010502020310589044058218278912");
|
||
list.add("002212024010502173710589047974468214784");
|
||
list.add("002212024010502200210589048585977835520");
|
||
list.add("002212024010502211910589048905608491008");
|
||
list.add("002212024010502221010589049122732920832");
|
||
list.add("002212024010502252910589049957826801664");
|
||
list.add("002212024010502282310589050686871154688");
|
||
list.add("002212024010502352310589052446006177792");
|
||
list.add("002212024010502354510589052540545789952");
|
||
list.add("002212024010502395310589053577855086592");
|
||
list.add("002212024010502460910589055157758701568");
|
||
list.add("002212024010502481810589055698600046592");
|
||
list.add("002212024010502522310589056724022308864");
|
||
list.add("002212024010502542410589057234284081152");
|
||
list.add("002212024010502594510589058579083276288");
|
||
list.add("002212024010503081410589060715068485632");
|
||
list.add("002212024010503170110589062925383151616");
|
||
list.add("002212024010503211010589063968179056640");
|
||
list.add("002212024010503312110589066529991438336");
|
||
list.add("002212024010503424110589069383894929408");
|
||
list.add("002212024010504053710589075157191471104");
|
||
list.add("002212024010504130410589077029222592512");
|
||
list.add("002212024010504133410589077155771625472");
|
||
list.add("002212024010504380510589083323724836864");
|
||
list.add("002212024010504450110589085070824853504");
|
||
list.add("002212024010505133610589092264708247552");
|
||
list.add("002212024010505214110589094298972467200");
|
||
list.add("002212024010505420610589099435227045888");
|
||
list.add("002212024010505491810589101249993334784");
|
||
list.add("002212024010505562810589103049673117696");
|
||
list.add("002212024010506082610589106063516483584");
|
||
list.add("002212024010507312110589126930874265600");
|
||
list.add("002212024010508255610589140666381176832");
|
||
list.add("002212024010508460910589145755755327488");
|
||
list.add("002212024010508532010589147560578428928");
|
||
list.add("002212024010509055110589150712592986112");
|
||
list.add("002212024010509071910589151081590272000");
|
||
list.add("002212024010509143710589152919241846784");
|
||
list.add("002212024010509145910589153011554693120");
|
||
list.add("002212024010509221610589154843958403072");
|
||
list.add("002212024010509393410589159198032404480");
|
||
list.add("002212024010509563310589163470747639808");
|
||
list.add("002212024010510113510589167254706790400");
|
||
list.add("002212024010510291610589171706006450176");
|
||
list.add("002212024010511314610589187434570952704");
|
||
list.add("002212024010511324810589187692634558464");
|
||
list.add("002212024010511392010589189335379857408");
|
||
list.add("002212024010511494210589191945977970688");
|
||
list.add("002212024010511501910589192100277637120");
|
||
list.add("002212024010512003810589194697845080064");
|
||
list.add("002212024010512011010589194831659999232");
|
||
list.add("002212024010512053710589195950818336768");
|
||
list.add("002212024010512072810589196418525626368");
|
||
list.add("002212024010512111810589197379741659136");
|
||
list.add("002212024010512112010589197388933795840");
|
||
list.add("002212024010512213910589199984080179200");
|
||
list.add("002212024010512320010589202592104456192");
|
||
list.add("002212024010512322610589202699346284544");
|
||
list.add("002212024010512332910589202965105836032");
|
||
list.add("002212024010512402610589204713400733696");
|
||
list.add("002212024010512484510589206806332268544");
|
||
list.add("002212024010512492510589206973162352640");
|
||
list.add("002212024010512505910589207367567474688");
|
||
list.add("002212024010512531110589207922831634432");
|
||
list.add("002212024010512534710589208073216729088");
|
||
list.add("002212024010512541210589208175830827008");
|
||
list.add("002212024010512575910589209128617312256");
|
||
list.add("002212024010512590110589209388185124864");
|
||
list.add("002212024010513023510589210287674433536");
|
||
list.add("002212024010513080410589211668843003904");
|
||
list.add("002212024010513100910589212190577090560");
|
||
list.add("002212024010513112810589212522717278208");
|
||
list.add("002212024010513173010589214040020426752");
|
||
list.add("002212024010513182710589214280451973120");
|
||
list.add("002212024010513255110589216141903601664");
|
||
list.add("002212024010513303610589217337564577792");
|
||
list.add("002212024010513325110589217904844193792");
|
||
list.add("002212024010513355010589218655544700928");
|
||
list.add("002212024010513355410589218670399283200");
|
||
list.add("002212024010513384710589219395460227072");
|
||
list.add("002212024010513412510589220060334956544");
|
||
list.add("002212024010513490710589221996412522496");
|
||
list.add("002212024010513510610589222497730625536");
|
||
list.add("002212024010513522610589222832053518336");
|
||
list.add("002212024010513571710589224053587140608");
|
||
list.add("002212024010514072710589226611853590528");
|
||
list.add("002212024010514080210589226757986279424");
|
||
list.add("002212024010514114110589227674850598912");
|
||
list.add("002212024010514143510589228406555131904");
|
||
list.add("002212024010514162410589228864723070976");
|
||
list.add("002212024010514223710589230429782134784");
|
||
list.add("002212024010514264710589231478326886400");
|
||
list.add("002212024010514271410589231590077616128");
|
||
list.add("002212024010514292110589232121769865216");
|
||
list.add("002212024010514325310589233011074428928");
|
||
list.add("002212024010514394810589234753602625536");
|
||
list.add("002212024010514411510589235117631307776");
|
||
list.add("002212024010514442810589235928805941248");
|
||
list.add("002212024010514464310589236494089936896");
|
||
list.add("002212024010514535410589238299646590976");
|
||
list.add("002212024010514551610589238645828468736");
|
||
list.add("002212024010514565610589239065384308736");
|
||
list.add("002212024010515024110589240509994405888");
|
||
list.add("002212024010515024810589240542830198784");
|
||
list.add("002212024010515094110589242274584711168");
|
||
list.add("002212024010515170810589244149658005504");
|
||
list.add("002212024010515174910589244321934123008");
|
||
list.add("002212024010515194810589244820093755392");
|
||
list.add("002212024010515224410589245557709721600");
|
||
list.add("002212024010515234510589245811176284160");
|
||
list.add("002212024010515241110589245922546397184");
|
||
list.add("002212024010515304910589247590524878848");
|
||
list.add("002212024010515385710589249637761458176");
|
||
list.add("002212024010516010910589255224154955776");
|
||
list.add("002212024010516160810589258996078907392");
|
||
list.add("002212024010516202110589260057716031488");
|
||
list.add("002212024010516382310589264597199470592");
|
||
list.add("002212024010516443310589266148311998464");
|
||
list.add("002212024010517163910589274225387491328");
|
||
list.add("002212024010517352210589278933555175424");
|
||
list.add("002212024010517574910589284583607267328");
|
||
list.add("002212024010518193910589290080816443392");
|
||
list.add("002212024010518200210589290175764987904");
|
||
list.add("002212024010518223710589290826512138240");
|
||
list.add("002212024010518242810589291290928508928");
|
||
list.add("002212024010518350910589293981428817920");
|
||
list.add("002212024010518451010589296500511023104");
|
||
list.add("002212024010518523610589298372147003392");
|
||
list.add("002212024010518533410589298616650792960");
|
||
list.add("002212024010519132410589303606287990784");
|
||
list.add("002212024010519164910589304467021045760");
|
||
list.add("002212024010519253810589306685879164929");
|
||
list.add("002212024010519310910589308075004329984");
|
||
list.add("002212024010519501810589312892807946240");
|
||
list.add("002212024010519525210589313537010544640");
|
||
list.add("002212024010519542010589313906980409344");
|
||
list.add("002212024010520005710589315571766112256");
|
||
list.add("002212024010520172610589319722304516096");
|
||
list.add("002212024010520280110589322383465578496");
|
||
list.add("002212024010521003210589330566923255808");
|
||
list.add("002212024010521010210589330695130484736");
|
||
list.add("002212024010521033910589331352521175040");
|
||
list.add("002212024010521045510589331672066777088");
|
||
list.add("002212024010521064710589332140216791040");
|
||
list.add("002212024010521102110589333037217730561");
|
||
list.add("002212024010521120510589333474436562944");
|
||
list.add("002212024010521163210589334595364495360");
|
||
list.add("002212024010521180510589334982247784448");
|
||
list.add("002212024010521191710589335285877682176");
|
||
list.add("002212024010521215710589335955310125056");
|
||
list.add("002212024010521243710589336630162980864");
|
||
list.add("002212024010521260310589336986855567360");
|
||
list.add("002212024010521283910589337642684493824");
|
||
list.add("002212024010521390510589340269241794560");
|
||
list.add("002212024010521411910589340829132881920");
|
||
list.add("002212024010521440310589341520566005760");
|
||
list.add("002212024010521500710589343043894050816");
|
||
list.add("002212024010521540510589344044086034432");
|
||
list.add("002212024010521544410589344206303461376");
|
||
list.add("002212024010521584610589345223960940544");
|
||
list.add("002212024010522005410589345760569032704");
|
||
list.add("002212024010522113610589348451053580288");
|
||
list.add("002212024010522122110589348639476228096");
|
||
list.add("002212024010522140410589349072109031424");
|
||
list.add("002212024010522160810589349591804846080");
|
||
list.add("002212024010522183810589350220021039104");
|
||
list.add("002212024010522244110589351743159836672");
|
||
list.add("002212024010522265910589352323902763008");
|
||
list.add("002212024010522285610589352815900499968");
|
||
list.add("002212024010522303210589353217380954112");
|
||
list.add("002212024010522311010589353377536921600");
|
||
list.add("002212024010522312710589353447699816448");
|
||
list.add("002212024010522331810589353911762493440");
|
||
list.add("002212024010522374010589355013215395840");
|
||
list.add("002212024010522454610589357051690811392");
|
||
list.add("002212024010522465110589357322940645376");
|
||
list.add("002212024010522493710589358018476843008");
|
||
list.add("002212024010522534710589359068007215104");
|
||
list.add("002212024010522542110589359209077211136");
|
||
list.add("002212024010522543210589359254977540096");
|
||
list.add("002212024010522561210589359675420901376");
|
||
list.add("002212024010522580110589360131972952064");
|
||
list.add("002212024010522594810589360580073971712");
|
||
list.add("002212024010523030410589361405153931264");
|
||
list.add("002212024010523053410589362035142991872");
|
||
list.add("002212024010523070110589362396485898240");
|
||
list.add("002212024010523083610589362796304310272");
|
||
list.add("002212024010523235710589366660976906240");
|
||
list.add("002212024010523300010589368180628635648");
|
||
list.add("002212024010523345210589369407169830912");
|
||
list.add("002212024010523345510589369417501442048");
|
||
list.add("002212024010523383310589370333266219008");
|
||
list.add("002212024010523384110589370365823459328");
|
||
list.add("002212024010523392910589370568763867136");
|
||
list.add("002212024010523402110589370786352578560");
|
||
list.add("002212024010523413410589371093468938240");
|
||
list.add("002212024010523464510589372395456397312");
|
||
list.add("002212024010523470210589372469935087616");
|
||
list.add("002212024010523495010589373172694327296");
|
||
list.add("002212024010523501610589373284045750272");
|
||
list.add("002212024010523540010589374219669561344");
|
||
list.add("002212024010523565210589374944722116608");
|
||
list.add("002212024010600013010589376109944602624");
|
||
list.add("002212024010600035110589376702648668160");
|
||
list.add("002212024010600070410589377512040460288");
|
||
list.add("002212024010600071610589377561180753920");
|
||
list.add("002212024010600091610589378064666427392");
|
||
list.add("002212024010600154910589379710329929728");
|
||
list.add("002212024010600230610589381544310108160");
|
||
list.add("002212024010600312610589383641744375808");
|
||
list.add("002212024010600453910589387221062746112");
|
||
list.add("002212024010600531510589389133602299904");
|
||
list.add("002212024010600542510589389426859802624");
|
||
list.add("002212024010600570010589390076153806848");
|
||
list.add("002212024010601003110589390959793872896");
|
||
list.add("002212024010601015610589391318241546240");
|
||
list.add("002212024010601100810589393383099736064");
|
||
list.add("002212024010601130510589394124378775552");
|
||
list.add("002212024010601130810589394137058844672");
|
||
list.add("002212024010601131710589394176005410816");
|
||
list.add("002212024010601170010589395109892423680");
|
||
list.add("002212024010601233210589396753804730368");
|
||
list.add("002212024010601261310589397429114986496");
|
||
list.add("002212024010601332310589399230968655872");
|
||
list.add("002212024010601370810589400176240078848");
|
||
list.add("002212024010601424010589401568340193280");
|
||
list.add("002212024010601562110589405011012583424");
|
||
list.add("002212024010602014210589406356933451776");
|
||
list.add("002212024010602083110589408073426644992");
|
||
list.add("002212024010602121910589409028830494720");
|
||
list.add("002212024010602174810589410410276151296");
|
||
list.add("002212024010602192310589410808763088896");
|
||
list.add("002212024010602231710589411789206659072");
|
||
list.add("002212024010602271210589412776127430656");
|
||
list.add("002212024010602325110589414195692929024");
|
||
list.add("002212024010602370110589415247941718016");
|
||
list.add("002212024010602372210589415334899294208");
|
||
list.add("002212024010602391010589415785788014592");
|
||
list.add("002212024010602450010589417254350340096");
|
||
list.add("002212024010602491210589418310219182080");
|
||
list.add("002212024010602502910589418636950044672");
|
||
list.add("002212024010602514210589418942289264640");
|
||
list.add("002212024010602555710589420011488845824");
|
||
list.add("002212024010603035110589421998292713472");
|
||
list.add("002212024010603123610589424201229037568");
|
||
list.add("002212024010603164410589425240354684928");
|
||
list.add("002212024010603231510589426881224073216");
|
||
list.add("002212024010603240310589427081360478208");
|
||
list.add("002212024010603352910589429958798827520");
|
||
list.add("002212024010603391910589430922966507520");
|
||
list.add("002212024010603444710589432300526936064");
|
||
list.add("002212024010603583410589435768733810688");
|
||
list.add("002212024010604090810589438429796536320");
|
||
list.add("002212024010604101710589438718718750720");
|
||
list.add("002212024010604111310589438953239064576");
|
||
list.add("002212024010604172010589440492823740416");
|
||
list.add("002212024010604261610589442740024451072");
|
||
list.add("002212024010604312810589444048511987712");
|
||
list.add("002212024010604443910589447364697595904");
|
||
list.add("002212024010604473910589448120049958912");
|
||
list.add("002212024010604512510589449069745242112");
|
||
list.add("002212024010604515410589449191928090624");
|
||
list.add("002212024010605051110589452533064691712");
|
||
list.add("002212024010605054710589452683359186944");
|
||
list.add("002212024010605112910589454119555149824");
|
||
list.add("002212024010605351810589460112319225856");
|
||
list.add("002212024010605383010589460919506788352");
|
||
list.add("002212024010605443110589462432443568128");
|
||
list.add("002212024010605491510589463624122572800");
|
||
list.add("002212024010606190210589471118854545408");
|
||
list.add("002212024010606353610589475287118159872");
|
||
list.add("002212024010606361510589475451895181312");
|
||
list.add("002212024010606480810589478442204930048");
|
||
list.add("002212024010607254510589487906289340416");
|
||
list.add("002212024010607431010589492291999989760");
|
||
list.add("002212024010608010510589496798173732864");
|
||
list.add("002212024010608503810589509271939870720");
|
||
list.add("002212024010609002110589511714844540928");
|
||
list.add("002212024010609153410589515543312896000");
|
||
list.add("002212024010609192910589516530782945280");
|
||
list.add("002212024010609254110589518090058313728");
|
||
list.add("002212024010609424010589522362647031808");
|
||
list.add("002212024010609485310589523927488163840");
|
||
list.add("002212024010610122710589529861582757888");
|
||
list.add("002212024010610211110589532056457256960");
|
||
list.add("002212024010610290510589534045260902400");
|
||
list.add("002212024010610340710589535311481888768");
|
||
list.add("002212024010610340910589535321632911360");
|
||
list.add("002212024010610442610589537907910385664");
|
||
list.add("002212024010611011310589542134308610048");
|
||
list.add("002212024010611045210589543049185710080");
|
||
list.add("002212024010611195910589546854850961408");
|
||
list.add("002212024010611231610589547683290374144");
|
||
list.add("002212024010611252410589548217268686848");
|
||
list.add("002212024010611385510589551617906933760");
|
||
list.add("002212024010611592410589556775185227776");
|
||
list.add("002212024010612000010589556925285044224");
|
||
list.add("002212024010612041810589558006082334720");
|
||
list.add("002212024010612043010589558056580112384");
|
||
list.add("002212024010612165310589561174962720768");
|
||
list.add("002212024010612241710589563035499978752");
|
||
list.add("002212024010612245310589563188036091904");
|
||
list.add("002212024010612292710589564335383945216");
|
||
list.add("002212024010612331610589565298986487808");
|
||
list.add("002212024010612373410589566379696828416");
|
||
list.add("002212024010612390810589566772147499008");
|
||
list.add("002212024010612432710589567859951599616");
|
||
list.add("002212024010612432810589567864183652352");
|
||
list.add("002212024010612441210589568050364612608");
|
||
list.add("002212024010612444110589568171493142528");
|
||
list.add("002212024010612544610589570708187230208");
|
||
list.add("002212024010613093210589574424505204736");
|
||
list.add("002212024010613105510589574772548333568");
|
||
list.add("002212024010613172110589576390857445376");
|
||
list.add("002212024010613175910589576550564130816");
|
||
list.add("002212024010613203910589577222483648512");
|
||
list.add("002212024010613203910589577223338045440");
|
||
list.add("002212024010613245310589578287816736768");
|
||
list.add("002212024010613263110589578697720840192");
|
||
list.add("002212024010613301910589579655747477504");
|
||
list.add("002212024010613385410589581815947821056");
|
||
list.add("002212024010613403110589582222994550784");
|
||
list.add("002212024010613410810589582377752449024");
|
||
list.add("002212024010613433710589583001042137088");
|
||
list.add("002212024010613435010589583054673895424");
|
||
list.add("002212024010613442110589583185929023488");
|
||
list.add("002212024010613501210589584656801136640");
|
||
list.add("002212024010614034710589588077598253056");
|
||
list.add("002212024010614052710589588496044269568");
|
||
list.add("002212024010614064910589588840625848320");
|
||
list.add("002212024010614204510589592344618901504");
|
||
list.add("002212024010614254010589593582472986624");
|
||
list.add("002212024010614313410589595070659407872");
|
||
list.add("002212024010614360110589596188200673280");
|
||
list.add("002212024010614374510589596623842508800");
|
||
list.add("002212024010614414310589597622569623552");
|
||
list.add("002212024010614421210589597744889167872");
|
||
list.add("002212024010614490810589599489283424256");
|
||
list.add("002212024010614513910589600121873539072");
|
||
list.add("002212024010614515610589600196107284480");
|
||
list.add("002212024010614594210589602147626627072");
|
||
list.add("002212024010615085510589604468733489152");
|
||
list.add("002212024010615102510589604845156917248");
|
||
list.add("002212024010615102610589604847874408448");
|
||
list.add("002212024010615133210589605628238725120");
|
||
list.add("002212024010615264610589608961552715776");
|
||
list.add("002212024010615303810589609933971324928");
|
||
list.add("002212024010615333510589610674889928704");
|
||
list.add("002212024010615513310589615195148939264");
|
||
list.add("002212024010615535610589615796797931520");
|
||
list.add("002212024010616071610589619153674551296");
|
||
list.add("002212024010616100210589619849641525248");
|
||
list.add("002212024010616201210589622408442785792");
|
||
list.add("002212024010616382810589627004141641728");
|
||
list.add("002212024010616524710589630608723345408");
|
||
list.add("002212024010617035710589633418504372224");
|
||
list.add("002212024010617074510589634372056498176");
|
||
list.add("002212024010617231510589638273569595392");
|
||
list.add("002212024010618382510589657188679970816");
|
||
list.add("002212024010618421510589658154413625344");
|
||
list.add("002212024010618430810589658378495369216");
|
||
list.add("002212024010618462010589659182821548032");
|
||
list.add("002212024010618555310589661586059804672");
|
||
list.add("002212024010618580110589662123063881728");
|
||
list.add("002212024010619014010589663043057070080");
|
||
list.add("002212024010619094310589665065902055424");
|
||
list.add("002212024010619204410589667837930995712");
|
||
list.add("002212024010619232710589668523879022592");
|
||
list.add("002212024010619312610589670530508689408");
|
||
list.add("002212024010619344010589671346117320704");
|
||
list.add("002212024010620420110589688293441519616");
|
||
list.add("002212024010621152010589696681317851136");
|
||
list.add("002212024010621394910589702839389331456");
|
||
list.add("002212024010621415810589703381837791232");
|
||
list.add("002212024010621430410589703659756756992");
|
||
list.add("002212024010621530810589706192169738240");
|
||
list.add("002212024010621540310589706422641082368");
|
||
list.add("002212024010622135210589711411359719424");
|
||
list.add("002212024010622191310589712754776834048");
|
||
list.add("002212024010622231210589713756947857408");
|
||
list.add("002212024010622262310589714558042755072");
|
||
list.add("002212024010622274510589714904152113152");
|
||
list.add("002212024010622281010589715007577980928");
|
||
list.add("002212024010622290810589715251748347904");
|
||
list.add("002212024010622301810589715543699337216");
|
||
list.add("002212024010622305210589715687501299712");
|
||
list.add("002212024010622320310589715984508768256");
|
||
list.add("002212024010622324910589716178239062016");
|
||
list.add("002212024010622331110589716272912891904");
|
||
list.add("002212024010622334810589716426303586304");
|
||
list.add("002212024010622353810589716886411378688");
|
||
list.add("002212024010622363610589717129547227136");
|
||
list.add("002212024010622374210589717408275505152");
|
||
list.add("002212024010622374910589717439228002304");
|
||
list.add("002212024010622384810589717685584424960");
|
||
list.add("002212024010622385410589717710221119488");
|
||
list.add("002212024010622394910589717939392282624");
|
||
list.add("002212024010622422110589718577350533120");
|
||
list.add("002212024010622422510589718593371353088");
|
||
list.add("002212024010622435810589718984488484864");
|
||
list.add("002212024010622451010589719285401022464");
|
||
list.add("002212024010623052510589724384082100224");
|
||
list.add("002212024010623101310589725592158060544");
|
||
list.add("002212024010623202610589728161232363520");
|
||
list.add("002212024010623202710589728167194198016");
|
||
list.add("002212024010623215010589728512734957568");
|
||
list.add("002212024010623273010589729939118862336");
|
||
list.add("002212024010623321910589731151037112320");
|
||
list.add("002212024010623323210589731206745858048");
|
||
list.add("002212024010623325110589731288926134272");
|
||
list.add("002212024010623371810589732407184445440");
|
||
list.add("002212024010623492210589735442529476608");
|
||
list.add("002212024010623492910589735474814894080");
|
||
list.add("002212024010623521610589736175115997184");
|
||
list.add("002212024010623523310589736243286081536");
|
||
list.add("002212024010623533810589736517534593024");
|
||
list.add("002212024010700051810589739452096413696");
|
||
list.add("002212024010700070210589739890157850624");
|
||
list.add("002212024010700110610589740911842754560");
|
||
list.add("002212024010700130110589741396065034240");
|
||
list.add("002212024010700164210589742322985058304");
|
||
list.add("002212024010700201210589743205015101440");
|
||
list.add("002212024010700210610589743428682481664");
|
||
list.add("002212024010700220410589743673611132928");
|
||
list.add("002212024010700302610589745780308815872");
|
||
list.add("002212024010700373510589747576196505600");
|
||
list.add("002212024010700374410589747616397643776");
|
||
list.add("002212024010700452310589749540467019776");
|
||
list.add("002212024010700471710589750017887866880");
|
||
list.add("002212024010700505810589750945278705664");
|
||
list.add("002212024010700514210589751130269360128");
|
||
list.add("002212024010700535910589751703186120704");
|
||
list.add("002212024010700541210589751757592952832");
|
||
list.add("002212024010700544710589751908065878016");
|
||
list.add("002212024010700590610589752994582999040");
|
||
list.add("002212024010701011410589753528141832192");
|
||
list.add("002212024010701143910589756906535845888");
|
||
list.add("002212024010701200710589758281988599808");
|
||
list.add("002212024010701262310589759859615268864");
|
||
list.add("002212024010701355510589762258872680448");
|
||
list.add("002212024010701504210589765977495416832");
|
||
list.add("002212024010701511110589766101513261056");
|
||
list.add("002212024010701515510589766284020011008");
|
||
list.add("002212024010701520310589766318326489088");
|
||
list.add("002212024010701555510589767289902190592");
|
||
list.add("002212024010702060410589769844209426432");
|
||
list.add("002212024010702063510589769975569567744");
|
||
list.add("002212024010702084010589770500030111744");
|
||
list.add("002212024010702103410589770976531415040");
|
||
list.add("002212024010702120610589771364704804864");
|
||
list.add("002212024010702163410589772489331507200");
|
||
list.add("002212024010702191210589773148498894848");
|
||
list.add("002212024010702192710589773213129515008");
|
||
list.add("002212024010702210910589773641297518592");
|
||
list.add("002212024010702212910589773723880640512");
|
||
list.add("002212024010702321410589776431519047680");
|
||
list.add("002212024010702450110589779646297911296");
|
||
list.add("002212024010702454910589779847598424064");
|
||
list.add("002212024010702470310589780158391353344");
|
||
list.add("002212024010702491410589780710382731264");
|
||
list.add("002212024010703065010589785137843896320");
|
||
list.add("002212024010703093710589785839547174912");
|
||
list.add("002212024010703221210589789003667587072");
|
||
list.add("002212024010703230010589789204989181952");
|
||
list.add("002212024010703282010589790547234156544");
|
||
list.add("002212024010703295410589790944057257984");
|
||
list.add("002212024010703360310589792490562191360");
|
||
list.add("002212024010703402810589793603845996544");
|
||
list.add("002212024010703421310589794040510980096");
|
||
list.add("002212024010703435410589794466359390208");
|
||
list.add("002212024010703535210589796975471853568");
|
||
list.add("002212024010704021310589799076811071488");
|
||
list.add("002212024010704403310589808723351203840");
|
||
list.add("002212024010704421310589809139799670784");
|
||
list.add("002212024010704421810589809161250217984");
|
||
list.add("002212024010704423410589809231025393664");
|
||
list.add("002212024010704430610589809364007223296");
|
||
list.add("002212024010705095010589816093130301440");
|
||
list.add("002212024010705231710589819477004759040");
|
||
list.add("002212024010705265610589820393221771264");
|
||
list.add("002212024010705410110589823938748940288");
|
||
list.add("002212024010705415610589824167914352640");
|
||
list.add("002212024010705451010589824984017522688");
|
||
list.add("002212024010705472810589825563168321536");
|
||
list.add("002212024010706261910589835337547894784");
|
||
list.add("002212024010706420010589839287397998592");
|
||
list.add("002212024010706472910589840664173223936");
|
||
list.add("002212024010707012510589844173770547200");
|
||
list.add("002212024010707063710589845482143784960");
|
||
list.add("002212024010707092510589846184051593216");
|
||
list.add("002212024010707280710589850889918246912");
|
||
list.add("002212024010707414210589854309525073920");
|
||
list.add("002212024010708020410589859435310579712");
|
||
list.add("002212024010708053010589860300480827392");
|
||
list.add("002212024010708110010589861683537059840");
|
||
list.add("002212024010708253910589865370982907904");
|
||
list.add("002212024010709184210589878720839921664");
|
||
list.add("002212024010709194010589878963811758080");
|
||
list.add("002212024010709244210589880232463138816");
|
||
list.add("002212024010709280910589881097388146688");
|
||
list.add("002212024010709385110589883792330162176");
|
||
list.add("002212024010710130910589892423691739136");
|
||
list.add("002212024010710160610589893165095956480");
|
||
list.add("002212024010710373710589898582620352512");
|
||
list.add("002212024010710515810589902192676003840");
|
||
list.add("002212024010710595910589904210154000384");
|
||
list.add("002212024010711193310589909133158187008");
|
||
list.add("002212024010711252810589910621842923520");
|
||
list.add("002212024010711253610589910655658872832");
|
||
list.add("002212024010711345010589912978535256064");
|
||
list.add("002212024010711353910589913184573792256");
|
||
list.add("002212024010712343510589928018400100352");
|
||
list.add("002212024010713345210589943187045187584");
|
||
list.add("002212024010713383910589944140303114240");
|
||
list.add("002212024010713581610589949075431292928");
|
||
list.add("002212024010714322510589957670747594752");
|
||
list.add("002212024010714400410589959595709964288");
|
||
list.add("002212024010715322110589972753592078336");
|
||
list.add("002212024010717190210589999602466750464");
|
||
list.add("002212024010717234210590000775195373568");
|
||
list.add("002212024010717310210590002619104927744");
|
||
list.add("002212024010717364610590004064964825088");
|
||
list.add("002212024010717414610590005321440280576");
|
||
list.add("002212024010717415910590005375534407680");
|
||
list.add("002212024010717423610590005531742683136");
|
||
list.add("002212024010717440610590005910021713920");
|
||
list.add("002212024010717502710590007506441175040");
|
||
list.add("002212024010717535010590008358132350976");
|
||
list.add("002212024010717550010590008650890514432");
|
||
list.add("002212024010718041310590010969621102592");
|
||
list.add("002212024010718251710590016272266625024");
|
||
list.add("002212024010718461510590021549801852928");
|
||
list.add("002212024010718530910590023287870685184");
|
||
list.add("002212024010719204310590030223537168384");
|
||
list.add("002212024010719224310590030728556535808");
|
||
list.add("002212024010719343010590033693081796608");
|
||
list.add("002212024010719470310590036851802710016");
|
||
list.add("002212024010719501210590037642877841408");
|
||
list.add("002212024010720124710590043324928057344");
|
||
list.add("002212024010720151910590043961996279808");
|
||
list.add("002212024010720330710590048442605531136");
|
||
list.add("002212024010720352410590049019987582976");
|
||
list.add("002212024010720404510590050364631113728");
|
||
list.add("002212024010720440410590051197745299456");
|
||
list.add("002212024010720445710590051423381073920");
|
||
list.add("002212024010720453010590051559141392384");
|
||
list.add("002212024010721035310590056188155641856");
|
||
list.add("002212024010721163110590059366026059776");
|
||
list.add("002212024010721233110590061128053620736");
|
||
list.add("002212024010721275910590062252197945344");
|
||
list.add("002212024010721332610590063624006516736");
|
||
list.add("002212024010721363110590064400707919872");
|
||
list.add("002212024010721435810590066274562985984");
|
||
list.add("002212024010721493710590067693280231424");
|
||
list.add("002212024010721521710590068365526048768");
|
||
list.add("002212024010721530010590068545591123968");
|
||
list.add("002212024010721591510590070118637932544");
|
||
list.add("002212024010722040710590071342813528064");
|
||
list.add("002212024010722061210590071868423610368");
|
||
list.add("002212024010722091710590072644595654656");
|
||
list.add("002212024010722124410590073512931975168");
|
||
list.add("002212024010722152810590074202306359296");
|
||
list.add("002212024010722183510590074985313034240");
|
||
list.add("002212024010722193910590075253992816640");
|
||
list.add("002212024010722213010590075721024122880");
|
||
list.add("002212024010722265910590077100648984576");
|
||
list.add("002212024010722275510590077333523070976");
|
||
list.add("002212024010722281910590077435798392832");
|
||
list.add("002212024010722290610590077631645810688");
|
||
list.add("002212024010722301110590077906184396800");
|
||
list.add("002212024010722303210590077993261039616");
|
||
list.add("002212024010722323510590078509325312000");
|
||
list.add("002212024010722342510590078971363094528");
|
||
list.add("002212024010722345710590079103860985856");
|
||
list.add("002212024010722404910590080581484511232");
|
||
list.add("002212024010722432010590081214225432576");
|
||
list.add("002212024010722472710590082249367265280");
|
||
list.add("002212024010722495610590082874537390080");
|
||
list.add("002212024010722505410590083118406770688");
|
||
list.add("002212024010723014410590085845688766464");
|
||
list.add("002212024010723072110590087256683294720");
|
||
list.add("002212024010723154510590089372902600704");
|
||
list.add("002212024010723164110590089605171994624");
|
||
list.add("002212024010723193610590090338746957824");
|
||
list.add("002212024010723233410590091340268535808");
|
||
list.add("002212024010723281310590092508751237120");
|
||
list.add("002212024010723371510590094783245803520");
|
||
list.add("002212024010723403410590095615741698048");
|
||
list.add("002212024010723434310590096409812250624");
|
||
list.add("002212024010723523710590098651075616768");
|
||
list.add("002212024010723553910590099410773123072");
|
||
list.add("002212024010723590110590100260010631168");
|
||
list.add("002212024010723591310590100312099115008");
|
||
list.add("002212024010723591910590100334225334272");
|
||
list.add("002212024010723592110590100343727947776");
|
||
list.add("002212024010800071310590102324883267584");
|
||
list.add("002212024010800102410590103124545830912");
|
||
list.add("002212024010800122510590103630678966272");
|
||
list.add("002212024010800191610590105356313014272");
|
||
list.add("002212024010800193510590105437340807168");
|
||
list.add("002212024010800213010590105918553968640");
|
||
list.add("002212024010800225310590106266347962368");
|
||
list.add("002212024010800264210590107225502875648");
|
||
list.add("002212024010800270010590107303673954304");
|
||
list.add("002212024010800292910590107926454898688");
|
||
list.add("002212024010800310910590108347892957184");
|
||
list.add("002212024010800415410590111050155061248");
|
||
list.add("002212024010800450610590111856681136128");
|
||
list.add("002212024010800485810590112831161802752");
|
||
list.add("002212024010800504210590113267470807040");
|
||
list.add("002212024010800593710590115512463753216");
|
||
list.add("002212024010801111410590118433508384768");
|
||
list.add("002212024010801145910590119376720916480");
|
||
list.add("002212024010801184110590120307249913856");
|
||
list.add("002212024010801242510590121751199711232");
|
||
list.add("002212024010801244510590121836839010304");
|
||
list.add("002212024010801301910590123235302375424");
|
||
list.add("002212024010801342010590124245294088192");
|
||
list.add("002212024010801345310590124385111646208");
|
||
list.add("002212024010801361410590124724875001856");
|
||
list.add("002212024010801424710590126372199636992");
|
||
list.add("002212024010801434810590126627896991744");
|
||
list.add("002212024010801474210590127611030544384");
|
||
list.add("002212024010801594410590130640347561984");
|
||
list.add("002212024010802032410590131562601349120");
|
||
list.add("002212024010802040110590131717520326656");
|
||
list.add("002212024010802095710590133211868790784");
|
||
list.add("002212024010802133710590134134420647936");
|
||
list.add("002212024010802344010590139430440804352");
|
||
list.add("002212024010802382810590140386782375936");
|
||
list.add("002212024010802385910590140517051621376");
|
||
list.add("002212024010802455810590142275115921408");
|
||
list.add("002212024010802495810590143280044769280");
|
||
list.add("002212024010802525310590144015643029504");
|
||
list.add("002212024010802553010590144671754862592");
|
||
list.add("002212024010803121210590148875229945856");
|
||
list.add("002212024010803192110590150676541714432");
|
||
list.add("002212024010803223210590151476027224064");
|
||
list.add("002212024010803465310590157604408901632");
|
||
list.add("002212024010803502810590158506067734528");
|
||
list.add("002212024010803515710590158878664654848");
|
||
list.add("002212024010803542110590159481767702528");
|
||
list.add("002212024010804192810590165804122009600");
|
||
list.add("002212024010804230010590166692550922240");
|
||
list.add("002212024010804251910590167275596513280");
|
||
list.add("002212024010804281110590167995959586816");
|
||
list.add("002212024010804423710590171630200102912");
|
||
list.add("002212024010805224110590181713142652928");
|
||
list.add("002212024010805290710590183331334090752");
|
||
list.add("002212024010805330510590184329108508672");
|
||
list.add("002212024010805355710590185052734337024");
|
||
list.add("002212024010805491110590188382434983936");
|
||
list.add("002212024010806054810590192564536721408");
|
||
list.add("002212024010806195710590196125747478528");
|
||
list.add("002212024010806210810590196422449152000");
|
||
list.add("002212024010806403810590201330703572992");
|
||
list.add("002212024010806595310590206172410400768");
|
||
list.add("002212024010807042910590207330361655296");
|
||
list.add("002212024010808300710590228882899951616");
|
||
list.add("002212024010808313710590229261229498368");
|
||
list.add("002212024010808391710590231188308340736");
|
||
list.add("002212024010808515010590234349422288896");
|
||
list.add("002212024010808532810590234757585797120");
|
||
list.add("002212024010809045710590237648025559040");
|
||
list.add("002212024010809050010590237660892000256");
|
||
list.add("002212024010809193110590241313271169024");
|
||
list.add("002212024010809580610590251024417665024");
|
||
list.add("002212024010809594810590251453387997184");
|
||
list.add("002212024010810114710590254466290659328");
|
||
list.add("002212024010810145410590255251655589888");
|
||
list.add("002212024010810154610590255471316475904");
|
||
list.add("002212024010810184710590256229872078848");
|
||
list.add("002212024010810211310590256841171779584");
|
||
list.add("002212024010810315710590259541401780224");
|
||
list.add("002212024010810323110590259685622120448");
|
||
list.add("002212024010810415710590262058500993024");
|
||
list.add("002212024010810433910590262485151211520");
|
||
list.add("002212024010810540010590265089867653120");
|
||
list.add("002212024010810553210590265477188136960");
|
||
list.add("002212024010811031510590267420098801664");
|
||
list.add("002212024010811200410590271652822626304");
|
||
list.add("002212024010811272010590273479060336640");
|
||
list.add("002212024010811422310590277266932084736");
|
||
list.add("002212024010811493710590279088306331648");
|
||
list.add("002212024010812004810590281900775907328");
|
||
list.add("002212024010812020410590282219613626368");
|
||
list.add("002212024010812051910590283040666689536");
|
||
list.add("002212024010812060210590283218978701312");
|
||
list.add("002212024010812072910590283583948836864");
|
||
list.add("002212024010812112410590284572331716608");
|
||
list.add("002212024010812155910590285723684941824");
|
||
list.add("002212024010812165210590285946767388672");
|
||
list.add("002212024010812183910590286395212308480");
|
||
list.add("002212024010812310510590289523789246464");
|
||
list.add("002212024010812313110590289631199211520");
|
||
list.add("002212024010812490610590294059540373504");
|
||
list.add("002212024010812493410590294173217173504");
|
||
list.add("002212024010812570110590296049388036096");
|
||
list.add("002212024010813060410590298326083866624");
|
||
list.add("002212024010813100710590299345958719488");
|
||
list.add("002212024010813111010590299612890275840");
|
||
list.add("002212024010813193210590301717045485568");
|
||
list.add("002212024010813245610590303076562743296");
|
||
list.add("002212024010813271210590303646315282432");
|
||
list.add("002212024010813362510590305965269409792");
|
||
list.add("002212024010813371110590306157201756160");
|
||
list.add("002212024010813431210590307673934249984");
|
||
list.add("002212024010813471910590308706497863680");
|
||
list.add("002212024010813473210590308762548686848");
|
||
list.add("002212024010813474110590308800536023040");
|
||
list.add("002212024010813474910590308835391164416");
|
||
list.add("002212024010813475210590308845054365696");
|
||
list.add("002212024010813512410590309737667502080");
|
||
list.add("002212024010813521910590309965879148544");
|
||
list.add("002212024010813522810590310004390404096");
|
||
list.add("002212024010813524410590310070491394048");
|
||
list.add("002212024010813531510590310202315227136");
|
||
list.add("002212024010813553210590310777985785857");
|
||
list.add("002212024010813562810590311012814143488");
|
||
list.add("002212024010813564610590311086897745920");
|
||
list.add("002212024010814004210590312074484760576");
|
||
list.add("002212024010814134410590315358217142272");
|
||
list.add("002212024010814161410590315985666318336");
|
||
list.add("002212024010814184010590316599832375296");
|
||
list.add("002212024010814323810590320111027265536");
|
||
list.add("002212024010814381510590321525488189440");
|
||
list.add("002212024010814391610590321782454059008");
|
||
list.add("002212024010814423010590322596919537664");
|
||
list.add("002212024010814464010590323643712958464");
|
||
list.add("002212024010814470510590323748231913472");
|
||
list.add("002212024010814474910590323935688531968");
|
||
list.add("002212024010814485910590324228535705600");
|
||
list.add("002212024010814512610590324845418803200");
|
||
list.add("002212024010814542210590325581808779264");
|
||
list.add("002212024010814545110590325705134931968");
|
||
list.add("002212024010814572010590326327557947392");
|
||
list.add("002212024010815005710590327238375342080");
|
||
list.add("002212024010815013610590327401574866944");
|
||
list.add("002212024010815040210590328015666057216");
|
||
list.add("002212024010815043310590328143011061760");
|
||
list.add("002212024010815054610590328451953176576");
|
||
list.add("002212024010815073910590328924637429760");
|
||
list.add("002212024010815102510590329623303618560");
|
||
list.add("002212024010815103310590329655575011328");
|
||
list.add("002212024010815111610590329833940561920");
|
||
list.add("002212024010815152610590330882034335744");
|
||
list.add("002212024010815174510590331466781392896");
|
||
list.add("002212024010815270410590333810714071040");
|
||
list.add("002212024010815292910590334421634756608");
|
||
list.add("002212024010815352810590335924493557760");
|
||
list.add("002212024010815373510590336457495392256");
|
||
list.add("002212024010815380110590336566847610880");
|
||
list.add("002212024010815443410590338215098753024");
|
||
list.add("002212024010815445310590338297026818048");
|
||
list.add("002212024010815504410590339768892530688");
|
||
list.add("002212024010815532610590340445704540160");
|
||
list.add("002212024010816004210590342273735073792");
|
||
list.add("002212024010816024010590342771186233344");
|
||
list.add("002212024010816095210590344581993504768");
|
||
list.add("002212024010816142110590345709632978944");
|
||
list.add("002212024010816212410590347482998177792");
|
||
list.add("002212024010816225110590347849928892416");
|
||
list.add("002212024010816281910590349225251610624");
|
||
list.add("002212024010816451810590353498252931072");
|
||
list.add("002212024010816531310590355490309349376");
|
||
list.add("002212024010816551910590356020930904064");
|
||
list.add("002212024010817124410590360404182855680");
|
||
list.add("002212024010817211010590362524015591424");
|
||
list.add("002212024010817222310590362829720592384");
|
||
list.add("002212024010817403510590367413312983040");
|
||
list.add("002212024010817555510590371269322063872");
|
||
list.add("002212024010818023210590372936060698624");
|
||
list.add("002212024010818325410590380577805312000");
|
||
list.add("002212024010818404110590382535754420224");
|
||
list.add("002212024010819034310590388332516433920");
|
||
list.add("002212024010819080410590389426115563520");
|
||
list.add("002212024010819142510590391023809843200");
|
||
list.add("002212024010819145510590391151048638464");
|
||
list.add("002212024010819400810590397498670346240");
|
||
list.add("002212024010819490310590399740018728960");
|
||
list.add("002212024010820032410590403353893969920");
|
||
list.add("002212024010820310010590410298804703232");
|
||
list.add("002212024010820353610590411457654927360");
|
||
list.add("002212024010820382210590412154407383040");
|
||
list.add("002212024010820390910590412350824128512");
|
||
list.add("002212024010820591710590417415645016064");
|
||
list.add("002212024010821000510590417619258167296");
|
||
list.add("002212024010821001610590417663172919296");
|
||
list.add("002212024010821005410590417822556471296");
|
||
list.add("002212024010821121910590420697085157376");
|
||
list.add("002212024010821234010590423550779494400");
|
||
list.add("002212024010821331010590425943053443072");
|
||
list.add("002212024010821405610590427899180359680");
|
||
list.add("002212024010821473110590429556433756160");
|
||
list.add("002212024010821482710590429788848979968");
|
||
list.add("002212024010821531210590430986295472128");
|
||
list.add("002212024010821540510590431205855834112");
|
||
list.add("002212024010822003410590432838096879616");
|
||
list.add("002212024010822011210590432996569210880");
|
||
list.add("002212024010822034310590433631207202816");
|
||
list.add("002212024010822034410590433634265538560");
|
||
list.add("002212024010822050110590433958514753536");
|
||
list.add("002212024010822064210590434384447627264");
|
||
list.add("002212024010822101110590435260043137024");
|
||
list.add("002212024010822102010590435296366284800");
|
||
list.add("002212024010822125410590435942072852480");
|
||
list.add("002212024010822171310590437028939104256");
|
||
list.add("002212024010822173710590437130087936000");
|
||
list.add("002212024010822264910590439445896261632");
|
||
list.add("002212024010822310210590440507749785600");
|
||
list.add("002212024010822313710590440651565137920");
|
||
list.add("002212024010822331010590441042571542528");
|
||
list.add("002212024010822331910590441082414702592");
|
||
list.add("002212024010822343110590441384233492480");
|
||
list.add("002212024010822361010590441798172127232");
|
||
list.add("002212024010822383110590442388519112704");
|
||
list.add("002212024010822421310590443320262111232");
|
||
list.add("002212024010822444910590443974146551808");
|
||
list.add("002212024010822494410590445212936372224");
|
||
list.add("002212024010822563610590446940300869632");
|
||
list.add("002212024010822583710590447447379521536");
|
||
list.add("002212024010823011210590448097680465920");
|
||
list.add("002212024010823025110590448511855214592");
|
||
list.add("002212024010823090810590450092350119936");
|
||
list.add("002212024010823094710590450256418275328");
|
||
list.add("002212024010823095410590450288457719808");
|
||
list.add("002212024010823125810590451058599043072");
|
||
list.add("002212024010823215710590453318070607872");
|
||
list.add("002212024010823222710590453445600149504");
|
||
list.add("002212024010823240110590453839313137664");
|
||
list.add("002212024010823242910590453957897859072");
|
||
list.add("002212024010823262510590454442869288960");
|
||
list.add("002212024010823270810590454623623950336");
|
||
list.add("002212024010823335710590456340679696384");
|
||
list.add("002212024010823375110590457319273771008");
|
||
list.add("002212024010823391210590457660207734784");
|
||
list.add("002212024010823494510590460314902441984");
|
||
list.add("002212024010823504710590460575922556928");
|
||
list.add("002212024010823545610590461619908993024");
|
||
list.add("002212024010900031310590463705357582336");
|
||
list.add("002212024010900061210590464454685736960");
|
||
list.add("002212024010900062210590464498323058688");
|
||
list.add("002212024010900112910590465786217873408");
|
||
list.add("002212024010900134910590466371026518016");
|
||
list.add("002212024010900195810590467921698299904");
|
||
list.add("002212024010900200410590467946952241152");
|
||
list.add("002212024010900250110590469189727408128");
|
||
list.add("002212024010900250510590469209285836800");
|
||
list.add("002212024010900261210590469487702933504");
|
||
list.add("002212024010900321410590471004976041984");
|
||
list.add("002212024010900345610590471687531245568");
|
||
list.add("002212024010900370410590472224881360896");
|
||
list.add("002212024010900383610590472607520239616");
|
||
list.add("002212024010900491110590475272403709952");
|
||
list.add("002212024010900524210590476157246078976");
|
||
list.add("002212024010900564110590477161018523648");
|
||
list.add("002212024010901105010590480720986644480");
|
||
list.add("002212024010901121010590481054750724096");
|
||
list.add("002212024010901171210590482323064422400");
|
||
list.add("002212024010901192310590482871070760960");
|
||
list.add("002212024010901243510590484180922105856");
|
||
list.add("002212024010901282410590485142526320640");
|
||
list.add("002212024010901293610590485444719177728");
|
||
list.add("002212024010901301210590485593496465408");
|
||
list.add("002212024010901301310590485600811450368");
|
||
list.add("002212024010901324310590486227744755712");
|
||
list.add("002212024010901391510590487871404474368");
|
||
list.add("002212024010901411910590488390472835072");
|
||
list.add("002212024010901433010590488942400864256");
|
||
list.add("002212024010901445610590489303306244096");
|
||
list.add("002212024010901510510590490848951992320");
|
||
list.add("002212024010901534310590491514812801024");
|
||
list.add("002212024010902045110590494314465271808");
|
||
list.add("002212024010902065210590494823027146752");
|
||
list.add("002212024010902153810590497027143090176");
|
||
list.add("002212024010902161010590497162695520256");
|
||
list.add("002212024010902235910590499131919945728");
|
||
list.add("002212024010902240310590499147194130432");
|
||
list.add("002212024010902242110590499224172191744");
|
||
list.add("002212024010902283610590500290335715328");
|
||
list.add("002212024010902334210590501573492834304");
|
||
list.add("002212024010902385610590502894119661568");
|
||
list.add("002212024010902500110590505680336363520");
|
||
list.add("002212024010902515310590506149744041984");
|
||
list.add("002212024010902522510590506283847221248");
|
||
list.add("002212024010902545210590506900521320448");
|
||
list.add("002212024010903020010590508696510513152");
|
||
list.add("002212024010903101010590510751798947840");
|
||
list.add("002212024010903154010590512137287704576");
|
||
list.add("002212024010903162010590512303149776896");
|
||
list.add("002212024010903185410590512948285743104");
|
||
list.add("002212024010903382010590517842099023872");
|
||
list.add("002212024010904014110590523717037948928");
|
||
list.add("002212024010904071310590525107808509952");
|
||
list.add("002212024010904212510590528683686084608");
|
||
list.add("002212024010904251610590529650350718976");
|
||
list.add("002212024010904344210590532026650177536");
|
||
list.add("002212024010904474510590535311798771712");
|
||
list.add("002212024010904484210590535547229405184");
|
||
list.add("002212024010904535410590536856678965248");
|
||
list.add("002212024010905090410590540674307031040");
|
||
list.add("002212024010905193610590543327161311232");
|
||
list.add("002212024010905212610590543787000692736");
|
||
list.add("002212024010905264810590545136883494912");
|
||
list.add("002212024010905410910590548748219121664");
|
||
list.add("002212024010905440410590549481229496320");
|
||
list.add("002212024010905555110590552449035956224");
|
||
list.add("002212024010905582810590553106913632256");
|
||
list.add("002212024010906123610590556661446119424");
|
||
list.add("002212024010906215310590558997752143872");
|
||
list.add("002212024010908141910590587292976525312");
|
||
list.add("002212024010908242210590589822999994368");
|
||
list.add("002212024010908311010590591534489382912");
|
||
list.add("002212024010908343810590592406820728832");
|
||
list.add("002212024010908564810590597985567096832");
|
||
list.add("002212024010908571110590598080052371456");
|
||
list.add("002212024010909005010590599000185794560");
|
||
list.add("002212024010909005610590599026321633280");
|
||
list.add("002212024010909055710590600286676430848");
|
||
list.add("002212024010909110510590601580139347968");
|
||
list.add("002212024010909211710590604146827317248");
|
||
list.add("002212024010909360310590607860915175424");
|
||
list.add("002212024010909430410590609628427984896");
|
||
list.add("002212024010909455010590610323833344000");
|
||
list.add("002212024010909483510590611015834308608");
|
||
list.add("002212024010910265210590620651966791680");
|
||
list.add("002212024010910281910590621015688859648");
|
||
list.add("002212024010910293810590621347634466816");
|
||
list.add("002212024010910321710590622012817113088");
|
||
list.add("002212024010910322610590622051915358208");
|
||
list.add("002212024010910373810590623359318720512");
|
||
list.add("002212024010910395710590623943375491072");
|
||
list.add("002212024010911045010590630207767388160");
|
||
list.add("002212024010911162510590633119834030080");
|
||
list.add("002212024010911254610590635475752812544");
|
||
list.add("002212024010911291810590636361482600448");
|
||
list.add("002212024010911314110590636965015695360");
|
||
list.add("002212024010911354310590637976910241792");
|
||
list.add("002212024010911411410590639366401724416");
|
||
list.add("002212024010911462810590640684912287744");
|
||
list.add("002212024010911592310590643932309528576");
|
||
list.add("002212024010912000010590644088485715968");
|
||
list.add("002212024010912004810590644288481435648");
|
||
list.add("002212024010912005810590644334299021312");
|
||
list.add("002212024010912014710590644537979203584");
|
||
list.add("002212024010912030410590644862194925568");
|
||
list.add("002212024010912074910590646055552245760");
|
||
list.add("002212024010912152410590647963923623936");
|
||
list.add("002212024010912243810590650286403952640");
|
||
list.add("002212024010912263510590650780245499904");
|
||
list.add("002212024010912265710590650870041509888");
|
||
list.add("002212024010912295910590651636196995072");
|
||
list.add("002212024010912330410590652412750761984");
|
||
list.add("002212024010912375710590653638914068480");
|
||
list.add("002212024010912422910590654781242417152");
|
||
list.add("002212024010912470410590655932371415040");
|
||
list.add("002212024010912583410590658828425269248");
|
||
list.add("002212024010913121010590662251194023936");
|
||
list.add("002212024010913123110590662340542562304");
|
||
list.add("002212024010913130510590662479497338880");
|
||
list.add("002212024010913171310590663519737516032");
|
||
list.add("002212024010913204410590664405585240064");
|
||
list.add("002212024010913205710590664461471821824");
|
||
list.add("002212024010913245410590665456868904960");
|
||
list.add("002212024010913300210590666746139234304");
|
||
list.add("002212024010913311910590667069491978240");
|
||
list.add("002212024010913390610590669028560560128");
|
||
list.add("002212024010913401710590669327032897536");
|
||
list.add("002212024010913482810590671386053009408");
|
||
list.add("002212024010913510610590672048268361728");
|
||
list.add("002212024010913535510590672757380284416");
|
||
list.add("002212024010913551110590673075054563328");
|
||
list.add("002212024010913555210590673248453140480");
|
||
list.add("002212024010913593610590674189033766912");
|
||
list.add("002212024010914162710590678426552115200");
|
||
list.add("002212024010914202210590679413604380672");
|
||
list.add("002212024010914290010590681587603832832");
|
||
list.add("002212024010914311110590682135413903360");
|
||
list.add("002212024010914314510590682278111850496");
|
||
list.add("002212024010914341010590682884473991168");
|
||
list.add("002212024010914410010590684604605034496");
|
||
list.add("002212024010914415210590684824576991232");
|
||
list.add("002212024010914505610590687104737591296");
|
||
list.add("002212024010914595810590689379439550464");
|
||
list.add("002212024010915021210590689941466157056");
|
||
list.add("002212024010915052610590690756739969024");
|
||
list.add("002212024010915134110590692831973957632");
|
||
list.add("002212024010915190510590694190510882816");
|
||
list.add("002212024010915243910590695592167587840");
|
||
list.add("002212024010915325310590697664876650496");
|
||
list.add("002212024010915383810590699108915113984");
|
||
list.add("002212024010915431010590700251155247104");
|
||
list.add("002212024010915461710590701036033638400");
|
||
list.add("002212024010915552210590703320020660224");
|
||
list.add("002212024010916051710590705816156016640");
|
||
list.add("002212024010916081010590706540879552512");
|
||
list.add("002212024010916120410590707524941496320");
|
||
list.add("002212024010916155710590708501909020672");
|
||
list.add("002212024010916210010590709771257446400");
|
||
list.add("002212024010916362910590713666465628160");
|
||
list.add("002212024010916401110590714598399922176");
|
||
list.add("002212024010916481910590716645458874368");
|
||
list.add("002212024010917102110590722189853392896");
|
||
list.add("002212024010918441910590745840141557760");
|
||
list.add("002212024010919010110590750041641938944");
|
||
list.add("002212024010919033110590750671660580864");
|
||
list.add("002212024010919064910590751502093295616");
|
||
list.add("002212024010919145610590753542747832320");
|
||
list.add("002212024010919242710590755938095341568");
|
||
list.add("002212024010919281910590756911514058752");
|
||
list.add("002212024010919283310590756971542052864");
|
||
list.add("002212024010919323110590757968704708608");
|
||
list.add("002212024010919470910590761650771812352");
|
||
list.add("002212024010919480610590761889872306176");
|
||
list.add("002212024010920071510590766710563049472");
|
||
list.add("002212024010920102210590767492676657152");
|
||
list.add("002212024010920134410590768339706867712");
|
||
list.add("002212024010920190510590769689441447936");
|
||
list.add("002212024010920251010590771218485444608");
|
||
list.add("002212024010920282610590772038587420672");
|
||
list.add("002212024010920285110590772143889678336");
|
||
list.add("002212024010920424510590775643919917056");
|
||
list.add("002212024010920471610590776781427167232");
|
||
list.add("002212024010920575310590779452336209920");
|
||
list.add("002212024010921160410590784026477264896");
|
||
list.add("002212024010921212410590785371605200896");
|
||
list.add("002212024010921214610590785460781391872");
|
||
list.add("002212024010921233610590785922573385728");
|
||
list.add("002212024010921411710590790374513422336");
|
||
list.add("002212024010921474910590792018315649024");
|
||
list.add("002212024010921510310590792831410151424");
|
||
list.add("002212024010921552710590793939067117568");
|
||
list.add("002212024010921573410590794473192906752");
|
||
list.add("002212024010921580010590794581518327808");
|
||
list.add("002212024010921595210590795050053783552");
|
||
list.add("002212024010922034110590796009720782848");
|
||
list.add("002212024010922040210590796100568854528");
|
||
list.add("002212024010922131010590798399208251392");
|
||
list.add("002212024010922133310590798495511113728");
|
||
list.add("002212024010922152410590798961589915648");
|
||
list.add("002212024010922155610590799093416701952");
|
||
list.add("002212024010922212110590800457111011328");
|
||
list.add("002212024010922250310590801389583007744");
|
||
list.add("002212024010922270010590801878517637120");
|
||
list.add("002212024010922273210590802013141344256");
|
||
list.add("002212024010922281210590802182662529024");
|
||
list.add("002212024010922291110590802427537989632");
|
||
list.add("002212024010922293210590802516385968128");
|
||
list.add("002212024010922293710590802538274910208");
|
||
list.add("002212024010922311810590802960169500672");
|
||
list.add("002212024010922342310590803737298534400");
|
||
list.add("002212024010922353610590804043124076544");
|
||
list.add("002212024010922462410590806762220462080");
|
||
list.add("002212024010922520010590808168440569856");
|
||
list.add("002212024010923035510590811170592358400");
|
||
list.add("002212024010923055610590811675667968000");
|
||
list.add("002212024010923072510590812050403864576");
|
||
list.add("002212024010923073510590812090689429504");
|
||
list.add("002212024010923091810590812524296388608");
|
||
list.add("002212024010923101810590812776266039296");
|
||
list.add("002212024010923130910590813491984433152");
|
||
list.add("002212024010923230310590815982685499392");
|
||
list.add("002212024010923232010590816054209662976");
|
||
list.add("002212024010923234910590816177583226880");
|
||
list.add("002212024010923282610590817338270838784");
|
||
list.add("002212024010923290010590817482250846208");
|
||
list.add("002212024010923320210590818243713150976");
|
||
list.add("002212024010923322810590818352092000256");
|
||
list.add("002212024010923333410590818632976338944");
|
||
list.add("002212024010923393910590820162781425664");
|
||
list.add("002212024010923402110590820339757129728");
|
||
list.add("002212024010923482810590822378845331456");
|
||
list.add("002212024010923571910590824606445375488");
|
||
list.add("002212024011000052710590826655052976128");
|
||
list.add("002212024011000093610590827697400823808");
|
||
list.add("002212024011000122610590828412169977856");
|
||
list.add("002212024011000124210590828479628271616");
|
||
list.add("002212024011000193210590830200225103872");
|
||
list.add("002212024011000200410590830334078730240");
|
||
list.add("002212024011000213910590830731802804224");
|
||
list.add("002212024011000260410590831843260395520");
|
||
list.add("002212024011000302610590832942363115520");
|
||
list.add("002212024011000344310590834020659503104");
|
||
list.add("002212024011000344410590834022819569664");
|
||
list.add("002212024011000543510590839017609216000");
|
||
list.add("002212024011000551410590839183032565760");
|
||
list.add("002212024011000562010590839459080466432");
|
||
list.add("002212024011000583210590840014753607680");
|
||
list.add("002212024011001052610590841748621213696");
|
||
list.add("002212024011001103510590843044530262016");
|
||
list.add("002212024011001162910590844531119169536");
|
||
list.add("002212024011001203510590845560642961408");
|
||
list.add("002212024011001233310590846309367111680");
|
||
list.add("002212024011001263910590847090639699968");
|
||
list.add("002212024011001374510590849880887853056");
|
||
list.add("002212024011001422210590851045866065920");
|
||
list.add("002212024011001434310590851385364144128");
|
||
list.add("002212024011001563210590854609652453376");
|
||
list.add("002212024011002015010590855942761459712");
|
||
list.add("002212024011002065210590857211693858816");
|
||
list.add("002212024011002073010590857367978233856");
|
||
list.add("002212024011002074410590857428602703872");
|
||
list.add("002212024011002093810590857906074054656");
|
||
list.add("002212024011002102710590858112088236032");
|
||
list.add("002212024011002341310590864093667635200");
|
||
list.add("002212024011002495810590868055018274816");
|
||
list.add("002212024011002544910590869277572079616");
|
||
list.add("002212024011003043610590871738575323136");
|
||
list.add("002212024011003144210590874282598162432");
|
||
list.add("002212024011003215210590876086295265280");
|
||
list.add("002212024011003323610590878787006607360");
|
||
list.add("002212024011004125710590888940006174720");
|
||
list.add("002212024011004243810590891880092893184");
|
||
list.add("002212024011004290010590892979661991936");
|
||
list.add("002212024011004365710590894980259471360");
|
||
list.add("002212024011005055510590902267805593600");
|
||
list.add("002212024011005204810590906016629465088");
|
||
list.add("002212024011005282710590907940739518464");
|
||
list.add("002212024011005331310590909138130288640");
|
||
list.add("002212024011005354310590909767961026560");
|
||
list.add("002212024011005414310590911277350768640");
|
||
list.add("002212024011005471910590912689418313728");
|
||
list.add("002212024011005485810590913102145163264");
|
||
list.add("002212024011005500610590913390058967040");
|
||
list.add("002212024011007221310590936571124318208");
|
||
list.add("002212024011008052710590947448579674112");
|
||
list.add("002212024011008080510590948111388344320");
|
||
list.add("002212024011008293610590953529991430144");
|
||
list.add("002212024011008503010590958787497385984");
|
||
list.add("002212024011008585610590960909426999296");
|
||
list.add("002212024011009241910590967299662835712");
|
||
list.add("002212024011009260210590967728386170880");
|
||
list.add("002212024011009280710590968253904158720");
|
||
list.add("002212024011009323810590969392110510080");
|
||
list.add("002212024011009351110590970033057198080");
|
||
list.add("002212024011009380010590970741695799296");
|
||
list.add("002212024011009393710590971147000840192");
|
||
list.add("002212024011009414910590971703148773376");
|
||
list.add("002212024011009463310590972891306954752");
|
||
list.add("002212024011009512610590974122161799168");
|
||
list.add("002212024011009563910590975435739533312");
|
||
list.add("002212024011009571610590975590153699328");
|
||
list.add("002212024011010312410590984179497082880");
|
||
list.add("002212024011010363010590985465647575040");
|
||
list.add("002212024011010473910590988269916561408");
|
||
list.add("002212024011011073610590993288170610688");
|
||
list.add("002212024011011243810590997578153832448");
|
||
list.add("002212024011011314010590999347798048768");
|
||
list.add("002212024011011351810591000261436616704");
|
||
list.add("002212024011011362610591000545848729600");
|
||
list.add("002212024011011481510591003518665269248");
|
||
list.add("002212024011011563510591005618014093312");
|
||
list.add("002212024011011572510591005828997689344");
|
||
list.add("002212024011012043510591007630623223808");
|
||
list.add("002212024011012112010591009329021440000");
|
||
list.add("002212024011012142010591010083728990208");
|
||
list.add("002212024011012192410591011360788434944");
|
||
list.add("002212024011012240110591012520215658496");
|
||
list.add("002212024011012304310591014206246383616");
|
||
list.add("002212024011012381610591016106011336704");
|
||
list.add("002212024011012511510591019373481275392");
|
||
list.add("002212024011012594710591021521294045184");
|
||
list.add("002212024011013045410591022810034761728");
|
||
list.add("002212024011013074810591023540680007680");
|
||
list.add("002212024011013111410591024403194163200");
|
||
list.add("002212024011013144710591025297868816384");
|
||
list.add("002212024011013145710591025339318607872");
|
||
list.add("002212024011013223410591027254793027584");
|
||
list.add("002212024011013254910591028072215306240");
|
||
list.add("002212024011013300410591029141528330240");
|
||
list.add("002212024011013332410591029980938498048");
|
||
list.add("002212024011013404710591031839015170048");
|
||
list.add("002212024011013463310591033291270160384");
|
||
list.add("002212024011013474310591033583778525184");
|
||
list.add("002212024011013490210591033916038701056");
|
||
list.add("002212024011013490410591033923746562048");
|
||
list.add("002212024011013505410591034387416707072");
|
||
list.add("002212024011013571010591035964354420736");
|
||
list.add("002212024011014014010591037094891315200");
|
||
list.add("002212024011014062910591038309050195968");
|
||
list.add("002212024011014112710591039556721299456");
|
||
list.add("002212024011014112810591039559659282432");
|
||
list.add("002212024011014163910591040865339891712");
|
||
list.add("002212024011014210510591041983456169984");
|
||
list.add("002212024011014264810591043421946376192");
|
||
list.add("002212024011014301010591044267859329024");
|
||
list.add("002212024011014322310591044824813379584");
|
||
list.add("002212024011014363910591045901327372288");
|
||
list.add("002212024011014392710591046603960446976");
|
||
list.add("002212024011014401410591046803092271104");
|
||
list.add("002212024011014413110591047125040816128");
|
||
list.add("002212024011014415510591047224760307712");
|
||
list.add("002212024011014422010591047328195112960");
|
||
list.add("002212024011014423810591047404127731712");
|
||
list.add("002212024011014480610591048781189828608");
|
||
list.add("002212024011014495310591049231065800704");
|
||
list.add("002212024011014560110591050772620853248");
|
||
list.add("002212024011014592810591051643052871680");
|
||
list.add("002212024011015015210591052245803835392");
|
||
list.add("002212024011015045910591053030393344000");
|
||
list.add("002212024011015110810591054578447765504");
|
||
list.add("002212024011015123510591054941525540864");
|
||
list.add("002212024011015133510591055194751688704");
|
||
list.add("002212024011015142810591055417215500288");
|
||
list.add("002212024011015205510591057039232458752");
|
||
list.add("002212024011015281510591058886752067584");
|
||
list.add("002212024011015314110591059749464023040");
|
||
list.add("002212024011015462510591063457337692160");
|
||
list.add("002212024011015540410591065382038663168");
|
||
list.add("002212024011016021310591067431728005120");
|
||
list.add("002212024011016053910591068298489225216");
|
||
list.add("002212024011016133610591070299518509056");
|
||
list.add("002212024011016174910591071357789401088");
|
||
list.add("002212024011016213010591072286573957120");
|
||
list.add("002212024011016215110591072373446647808");
|
||
list.add("002212024011016285510591074151934058496");
|
||
list.add("002212024011016312810591074792142200832");
|
||
list.add("002212024011016390510591076710285561856");
|
||
list.add("002212024011016395710591076929337401344");
|
||
list.add("002212024011016562410591081067742720000");
|
||
list.add("002212024011017100110591084495801634816");
|
||
list.add("002212024011017164210591086175590236160");
|
||
list.add("002212024011017192010591086839169011712");
|
||
list.add("002212024011017243610591088164908752896");
|
||
list.add("002212024011017290510591089291791126528");
|
||
list.add("002212024011017353510591090927319490560");
|
||
list.add("002212024011017455110591093513506947072");
|
||
list.add("002212024011017525010591095269535621120");
|
||
list.add("002212024011017554010591095982905577472");
|
||
list.add("002212024011017572910591096438863290368");
|
||
list.add("002212024011018414610591107585392091136");
|
||
list.add("002212024011018415310591107615062450176");
|
||
list.add("002212024011019132410591115544398356480");
|
||
list.add("002212024011019134610591115636845039616");
|
||
list.add("002212024011019310010591119973742645248");
|
||
list.add("002212024011019315610591120209481515008");
|
||
list.add("002212024011019490310591124516475985920");
|
||
list.add("002212024011019525610591125495938211840");
|
||
list.add("002212024011019561610591126331685556224");
|
||
list.add("002212024011019582010591126851859595264");
|
||
list.add("002212024011020015910591127772661710848");
|
||
list.add("002212024011020022710591127890633506816");
|
||
list.add("002212024011020092810591129656446545920");
|
||
list.add("002212024011020191910591132135336927232");
|
||
list.add("002212024011020240710591133342983995392");
|
||
list.add("002212024011020283510591134465872465920");
|
||
list.add("002212024011020324610591135518634528768");
|
||
list.add("002212024011020455310591138819123810304");
|
||
list.add("002212024011020474210591139276050092032");
|
||
list.add("002212024011021114410591145324551303168");
|
||
list.add("002212024011021115610591145377684746240");
|
||
list.add("002212024011021170510591146671614676992");
|
||
list.add("002212024011021235810591148405463572480");
|
||
list.add("002212024011021244110591148585949548544");
|
||
list.add("002212024011021413710591152847636561920");
|
||
list.add("002212024011021420310591152955874447360");
|
||
list.add("002212024011021590610591157245958377472");
|
||
list.add("002212024011022094810591159936400187392");
|
||
list.add("002212024011022103410591160132567666688");
|
||
list.add("002212024011022114010591160406555185152");
|
||
list.add("002212024011022191610591162319003963392");
|
||
list.add("002212024011022205810591162749630930944");
|
||
list.add("002212024011022243910591163677308313600");
|
||
list.add("002212024011022265210591164231639449600");
|
||
list.add("002212024011022281910591164598813827072");
|
||
list.add("002212024011022293410591164912868384768");
|
||
list.add("002212024011022294010591164937967190016");
|
||
list.add("002212024011022305110591165235684524032");
|
||
list.add("002212024011022320310591165535617671168");
|
||
list.add("002212024011022333910591165940802420736");
|
||
list.add("002212024011022334110591165948135948288");
|
||
list.add("002212024011022335810591166021521596416");
|
||
list.add("002212024011022351810591166357606862848");
|
||
list.add("002212024011022365010591166743034306560");
|
||
list.add("002212024011022375610591167018643873792");
|
||
list.add("002212024011022382110591167123759489024");
|
||
list.add("002212024011022441310591168601513484288");
|
||
list.add("002212024011022444810591168744975425536");
|
||
list.add("002212024011022501710591170127113961472");
|
||
list.add("002212024011022511510591170367885893632");
|
||
list.add("002212024011022585910591172317738160128");
|
||
list.add("002212024011023015910591173069648818176");
|
||
list.add("002212024011023021510591173137668722688");
|
||
list.add("002212024011023040310591173589052645376");
|
||
list.add("002212024011023055610591174065764802560");
|
||
list.add("002212024011023080210591174593050537984");
|
||
list.add("002212024011023085910591174833906024448");
|
||
list.add("002212024011023123810591175751367557120");
|
||
list.add("002212024011023155110591176559139852288");
|
||
list.add("002212024011023160610591176623621095424");
|
||
list.add("002212024011023173710591177005149642752");
|
||
list.add("002212024011023250110591178867780698112");
|
||
list.add("002212024011023261910591179194521718784");
|
||
list.add("002212024011023310910591180409831809024");
|
||
list.add("002212024011023365910591181877957812224");
|
||
list.add("002212024011023404110591182809458966528");
|
||
list.add("002212024011023413210591183022336147456");
|
||
list.add("002212024011023430710591183422751371264");
|
||
list.add("002212024011023445510591183874932043776");
|
||
list.add("002212024011023532010591185993626914816");
|
||
list.add("002212024011023584510591187357990866944");
|
||
list.add("002212024011023590810591187451544027136");
|
||
list.add("002212024011100030110591188429334200320");
|
||
list.add("002212024011100041510591188741724434432");
|
||
list.add("002212024011100055810591189173962964992");
|
||
list.add("002212024011100073610591189583875727360");
|
||
list.add("002212024011100095210591190152429129728");
|
||
list.add("002212024011100163710591191853245849600");
|
||
list.add("002212024011100284110591194888797933568");
|
||
list.add("002212024011100430510591198513804165120");
|
||
list.add("002212024011100483210591199885165957120");
|
||
list.add("002212024011100512910591200628858322944");
|
||
list.add("002212024011100522010591200842231480320");
|
||
list.add("002212024011100573310591202153869303808");
|
||
list.add("002212024011100581410591202326836015104");
|
||
list.add("002212024011101005910591203017994485760");
|
||
list.add("002212024011101040410591203793385136128");
|
||
list.add("002212024011101130110591206045879234560");
|
||
list.add("002212024011101154510591206732336680960");
|
||
list.add("002212024011101185610591207533399728128");
|
||
list.add("002212024011101270010591209563249807360");
|
||
list.add("002212024011101282610591209927653056512");
|
||
list.add("002212024011101313110591210702200594432");
|
||
list.add("002212024011101385110591212547643904000");
|
||
list.add("002212024011101490210591215108115648512");
|
||
list.add("002212024011101562410591216964288077824");
|
||
list.add("002212024011102073310591219769852784640");
|
||
list.add("002212024011102134410591221324284010496");
|
||
list.add("002212024011102192210591222745641181184");
|
||
list.add("002212024011102345410591226654093692928");
|
||
list.add("002212024011102410410591228204171354112");
|
||
list.add("002212024011102494110591230374830620672");
|
||
list.add("002212024011102542910591231580430766080");
|
||
list.add("002212024011103030510591233745149132800");
|
||
list.add("002212024011103083810591235143213113344");
|
||
list.add("002212024011103121710591236062703243264");
|
||
list.add("002212024011103173410591237391492481024");
|
||
list.add("002212024011103211610591238320341835776");
|
||
list.add("002212024011103402610591243143122468864");
|
||
list.add("002212024011103422810591243658607685632");
|
||
list.add("002212024011103452710591244408564867072");
|
||
list.add("002212024011103492410591245400811368448");
|
||
list.add("002212024011103495110591245512994562048");
|
||
list.add("002212024011103501110591245598132396032");
|
||
list.add("002212024011103520710591246086175621120");
|
||
list.add("002212024011104003110591248198140383232");
|
||
list.add("002212024011104134510591251527706771456");
|
||
list.add("002212024011104225010591253814631415808");
|
||
list.add("002212024011104462310591259740585168896");
|
||
list.add("002212024011104513310591261042390196224");
|
||
list.add("002212024011105402410591273335771586560");
|
||
list.add("002212024011105471210591275045441404928");
|
||
list.add("002212024011106075310591280249833603072");
|
||
list.add("002212024011106135010591281747326828544");
|
||
list.add("002212024011106185110591283011137556480");
|
||
list.add("002212024011106575610591292848415522816");
|
||
list.add("002212024011107434410591304375284129792");
|
||
list.add("002212024011107594610591308406855524352");
|
||
list.add("002212024011108084110591310651449892864");
|
||
list.add("002212024011109211010591328892918390784");
|
||
list.add("002212024011109235710591329592362614784");
|
||
list.add("002212024011109272110591330448061603840");
|
||
list.add("002212024011109494810591336101051994112");
|
||
list.add("002212024011109503910591336314176618496");
|
||
list.add("002212024011109583210591338297927766016");
|
||
list.add("002212024011109595410591338641223278592");
|
||
list.add("002212024011110015010591339125236527104");
|
||
list.add("002212024011110050010591339922202198016");
|
||
list.add("002212024011110282710591345824285540352");
|
||
list.add("002212024011110444510591349928730681344");
|
||
list.add("002212024011110502510591351354634657792");
|
||
list.add("002212024011110502610591351357954752512");
|
||
list.add("002212024011110510810591351534027440128");
|
||
list.add("002212024011111212310591359145962065920");
|
||
list.add("002212024011111225510591359534150410240");
|
||
list.add("002212024011111271910591360641244676096");
|
||
list.add("002212024011111463510591365488405307392");
|
||
list.add("002212024011111522410591366951276597248");
|
||
list.add("002212024011111575510591368339096293376");
|
||
list.add("002212024011111591910591368691331792896");
|
||
list.add("002212024011112002710591368976292044800");
|
||
list.add("002212024011112051110591370169535815680");
|
||
list.add("002212024011112073810591370786704560128");
|
||
list.add("002212024011112101610591371448189091840");
|
||
list.add("002212024011112111210591371681936261120");
|
||
list.add("002212024011112142710591372500921647104");
|
||
list.add("002212024011112161010591372934641516544");
|
||
list.add("002212024011112271710591375732955078656");
|
||
list.add("002212024011112371310591378231489626112");
|
||
list.add("002212024011112413210591379315247390720");
|
||
list.add("002212024011112480110591380947494346752");
|
||
list.add("002212024011112485310591381167741177856");
|
||
list.add("002212024011112502710591381559975858176");
|
||
list.add("002212024011112513710591381852725547008");
|
||
list.add("002212024011112544210591382629581406208");
|
||
list.add("002212024011112594510591383900604985344");
|
||
list.add("002212024011113065410591385701486153728");
|
||
list.add("002212024011113090110591386235601379328");
|
||
list.add("002212024011113175810591388486057279488");
|
||
list.add("002212024011113230410591389770195886080");
|
||
list.add("002212024011113270110591390763210088448");
|
||
list.add("002212024011113324710591392214133145600");
|
||
list.add("002212024011113342910591392644474728448");
|
||
list.add("002212024011113362910591393144393818112");
|
||
list.add("002212024011113363810591393183264833536");
|
||
list.add("002212024011113383910591393690618032128");
|
||
list.add("002212024011113493510591396440556888064");
|
||
list.add("002212024011113504410591396730961477632");
|
||
list.add("002212024011113512310591396894480232448");
|
||
list.add("002212024011114055610591400555829739520");
|
||
list.add("002212024011114070810591400860602585088");
|
||
list.add("002212024011114083110591401208882782208");
|
||
list.add("002212024011114104410591401762983895040");
|
||
list.add("002212024011114122210591402175935627264");
|
||
list.add("002212024011114175110591403554346057728");
|
||
list.add("002212024011114185810591403835081465856");
|
||
list.add("002212024011114253810591405514877784064");
|
||
list.add("002212024011114290510591406383670419456");
|
||
list.add("002212024011114352510591407977443057664");
|
||
list.add("002212024011114382610591408734113005568");
|
||
list.add("002212024011114390310591408890356297728");
|
||
list.add("002212024011114411310591409438222553088");
|
||
list.add("002212024011114425910591409879950721024");
|
||
list.add("002212024011114474610591411083316985856");
|
||
list.add("002212024011114474710591411087139790848");
|
||
list.add("002212024011114501010591411687141572608");
|
||
list.add("002212024011114572810591413524276027392");
|
||
list.add("002212024011114581110591413704918163456");
|
||
list.add("002212024011115053610591415571275272192");
|
||
list.add("002212024011115135910591417682274131968");
|
||
list.add("002212024011115181110591418739121299456");
|
||
list.add("002212024011115283010591421334245425152");
|
||
list.add("002212024011115371110591423521908977664");
|
||
list.add("002212024011115371810591423548908859392");
|
||
list.add("002212024011115460110591425742858080256");
|
||
list.add("002212024011115555710591428245318258688");
|
||
list.add("002212024011116055410591430749232787456");
|
||
list.add("002212024011116163710591433446234423296");
|
||
list.add("002212024011116284410591436492541165568");
|
||
list.add("002212024011116392210591439170062475264");
|
||
list.add("002212024011116413210591439715396177920");
|
||
list.add("002212024011116463310591440977668423680");
|
||
list.add("002212024011117044210591445545369956352");
|
||
list.add("002212024011117390010591454175315087360");
|
||
list.add("002212024011117562010591458541040291840");
|
||
list.add("002212024011118123310591462621871562752");
|
||
list.add("002212024011118350410591468288258826240");
|
||
list.add("002212024011118452910591470908698386432");
|
||
list.add("002212024011119253610591481003247263744");
|
||
list.add("002212024011119272510591481461441511424");
|
||
list.add("002212024011119420010591485129941307392");
|
||
list.add("002212024011119434710591485577971974144");
|
||
list.add("002212024011119475110591486604482433024");
|
||
list.add("002212024011120005610591489894283431936");
|
||
list.add("002212024011120013910591490074742484992");
|
||
list.add("002212024011120033810591490574764580864");
|
||
list.add("002212024011120054010591491088936501248");
|
||
list.add("002212024011120124610591492875443720192");
|
||
list.add("002212024011120152910591493556440621056");
|
||
list.add("002212024011120174010591494108293586944");
|
||
list.add("002212024011120244110591495872822591488");
|
||
list.add("002212024011120272210591496549449846784");
|
||
list.add("002212024011120362710591498835859292160");
|
||
list.add("002212024011121003410591504903851073536");
|
||
list.add("002212024011121061210591506321737736192");
|
||
list.add("002212024011121174210591509215369183232");
|
||
list.add("002212024011121213610591510196497371136");
|
||
list.add("002212024011121252010591511135770079232");
|
||
list.add("002212024011121291610591512126682517504");
|
||
list.add("002212024011121432710591515693535416320");
|
||
list.add("002212024011121501810591517419108954112");
|
||
list.add("002212024011122044910591521070236000256");
|
||
list.add("002212024011122072010591521705055449088");
|
||
list.add("002212024011122084910591522077244256256");
|
||
list.add("002212024011122182110591524475913715712");
|
||
list.add("002212024011122184810591524590735450112");
|
||
list.add("002212024011122213110591525275816292352");
|
||
list.add("002212024011122292010591527239797866496");
|
||
list.add("002212024011122300510591527430105440256");
|
||
list.add("002212024011122302410591527511990689792");
|
||
list.add("002212024011122305810591527654435450880");
|
||
list.add("002212024011122312810591527776921710592");
|
||
list.add("002212024011122341010591528459970469888");
|
||
list.add("002212024011122341610591528482820026368");
|
||
list.add("002212024011122342910591528537892163584");
|
||
list.add("002212024011122343210591528552509636608");
|
||
list.add("002212024011122404510591530116603871232");
|
||
list.add("002212024011122410610591530203261861888");
|
||
list.add("002212024011122435610591530915884384256");
|
||
list.add("002212024011122462510591531539482906624");
|
||
list.add("002212024011122472510591531794549919744");
|
||
list.add("002212024011122495110591532405304778752");
|
||
list.add("002212024011122505810591532687268900864");
|
||
list.add("002212024011122535110591533412694745088");
|
||
list.add("002212024011122552910591533821608173568");
|
||
list.add("002212024011123034910591535917923168256");
|
||
list.add("002212024011123044610591536160159203328");
|
||
list.add("002212024011123062910591536589200551936");
|
||
list.add("002212024011123063910591536631497060352");
|
||
list.add("002212024011123073110591536852548403200");
|
||
list.add("002212024011123074510591536908013793280");
|
||
list.add("002212024011123130010591538231671218176");
|
||
list.add("002212024011123221510591540559812132864");
|
||
list.add("002212024011123292010591542339642544128");
|
||
list.add("002212024011123312610591542868459511808");
|
||
list.add("002212024011123341610591543581992714240");
|
||
list.add("002212024011123364110591544191458582528");
|
||
list.add("002212024011123471510591546851130245120");
|
||
list.add("002212024011123513810591547954982395904");
|
||
list.add("002212024011123522110591548132925595648");
|
||
list.add("002212024011123543510591548696233410560");
|
||
list.add("002212024011200011610591550379440836608");
|
||
list.add("002212024011200133910591553492808855552");
|
||
list.add("002212024011200154210591554009242173440");
|
||
list.add("002212024011200154410591554020086333440");
|
||
list.add("002212024011200154510591554022516969472");
|
||
list.add("002212024011200184610591554780918374400");
|
||
list.add("002212024011200270710591556884193046528");
|
||
list.add("002212024011200315810591558105493532672");
|
||
list.add("002212024011200390210591559879950524416");
|
||
list.add("002212024011200394610591560065468784640");
|
||
list.add("002212024011200405310591560348829696000");
|
||
list.add("002212024011200413810591560536819462144");
|
||
list.add("002212024011200470810591561919888056320");
|
||
list.add("002212024011200510010591562894997356544");
|
||
list.add("002212024011200533810591563556979580928");
|
||
list.add("002212024011200540510591563670912462848");
|
||
list.add("002212024011200561110591564196023590912");
|
||
list.add("002212024011201055410591566644242366464");
|
||
list.add("002212024011201062010591566751480889344");
|
||
list.add("002212024011201155510591569164622004224");
|
||
list.add("002212024011201170810591569470515941376");
|
||
list.add("002212024011201203310591570331752427520");
|
||
list.add("002212024011201300010591572706366406656");
|
||
list.add("002212024011201343110591573843191373824");
|
||
list.add("002212024011201382610591574831931432960");
|
||
list.add("002212024011201384510591574908514418688");
|
||
list.add("002212024011201441410591576290611552256");
|
||
list.add("002212024011201461510591576796476375040");
|
||
list.add("002212024011201513210591578128528429056");
|
||
list.add("002212024011201513910591578155917205504");
|
||
list.add("002212024011201533110591578624635019264");
|
||
list.add("002212024011201594910591580211635679232");
|
||
list.add("002212024011202001810591580333086031872");
|
||
list.add("002212024011202041710591581334534832128");
|
||
list.add("002212024011202114410591583210842083328");
|
||
list.add("002212024011202143510591583926491127808");
|
||
list.add("002212024011202233510591586191772385280");
|
||
list.add("002212024011202273710591587208864165888");
|
||
list.add("002212024011202332710591588677172936704");
|
||
list.add("002212024011202340110591588816563634176");
|
||
list.add("002212024011202424710591591024414126080");
|
||
list.add("002212024011203001210591595407102345216");
|
||
list.add("002212024011203034010591596279221579776");
|
||
list.add("002212024011203141810591598954325843968");
|
||
list.add("002212024011203155710591599371305578496");
|
||
list.add("002212024011203182510591599992839589888");
|
||
list.add("002212024011203260810591601932440801280");
|
||
list.add("002212024011203344110591604084244037632");
|
||
list.add("002212024011203381910591604999865339904");
|
||
list.add("002212024011203442910591606551766474752");
|
||
list.add("002212024011203472710591607299161968640");
|
||
list.add("002212024011203484110591607607208370176");
|
||
list.add("002212024011203551610591609264880566272");
|
||
list.add("002212024011203552810591609314296324096");
|
||
list.add("002212024011203572310591609796665180160");
|
||
list.add("002212024011204040410591611481674706944");
|
||
list.add("002212024011205105510591628305023856640");
|
||
list.add("002212024011205220910591631129880403968");
|
||
list.add("002212024011205254010591632015799832576");
|
||
list.add("002212024011205283410591632746453127168");
|
||
list.add("002212024011205284610591632795606175744");
|
||
list.add("002212024011205360510591634636348489728");
|
||
list.add("002212024011205390010591635369907093504");
|
||
list.add("002212024011206021610591641227771330560");
|
||
list.add("002212024011206050910591641953189335040");
|
||
list.add("002212024011206152010591644513072533504");
|
||
list.add("002212024011206261010591647240151556096");
|
||
list.add("002212024011206315510591648687555534848");
|
||
list.add("002212024011206495010591653195993964544");
|
||
list.add("002212024011207134510591659217236127744");
|
||
list.add("002212024011207323110591663938087002112");
|
||
list.add("002212024011207344410591664494201233408");
|
||
list.add("002212024011208045310591672084932976640");
|
||
list.add("002212024011208303410591678548679282688");
|
||
list.add("002212024011208363210591680047211827200");
|
||
list.add("002212024011208441410591681985912930304");
|
||
list.add("002212024011208452410591682280034099200");
|
||
list.add("002212024011209055110591687424952139776");
|
||
list.add("002212024011209123610591689124689584128");
|
||
list.add("002212024011209210510591691258052952064");
|
||
list.add("002212024011209385210591695734621028352");
|
||
list.add("002212024011209385510591695749466980352");
|
||
list.add("002212024011209442410591697128795009024");
|
||
list.add("002212024011209451610591697346377449472");
|
||
list.add("002212024011209541110591699591514157056");
|
||
list.add("002212024011210083610591703216447741952");
|
||
list.add("002212024011210145810591704819165515776");
|
||
list.add("002212024011210153110591704959904509952");
|
||
list.add("002212024011210220710591706621469736960");
|
||
list.add("002212024011210363510591710259413880832");
|
||
list.add("002212024011210504910591713842083618816");
|
||
list.add("002212024011210585610591715885930938368");
|
||
list.add("002212024011210593710591716058259386368");
|
||
list.add("002212024011211050210591717418452729856");
|
||
list.add("002212024011211231710591722011714080768");
|
||
list.add("002212024011211245410591722420033769472");
|
||
list.add("002212024011211342210591724800736620544");
|
||
list.add("002212024011211545610591729976076890112");
|
||
list.add("002212024011211562410591730348922081281");
|
||
list.add("002212024011211563210591730381052571648");
|
||
list.add("002212024011211595210591731218842025984");
|
||
list.add("002212024011212003910591731418364891136");
|
||
list.add("002212024011212004210591731429085650944");
|
||
list.add("002212024011212005210591731470135156736");
|
||
list.add("002212024011212065310591732985703919616");
|
||
list.add("002212024011212111010591734063641821184");
|
||
list.add("002212024011212184310591735964994473984");
|
||
list.add("002212024011212241210591737343044710400");
|
||
list.add("002212024011212343910591739970990075904");
|
||
list.add("002212024011212345410591740034722525184");
|
||
list.add("002212024011212360610591740336485650432");
|
||
list.add("002212024011212375010591740773910958080");
|
||
list.add("002212024011212474110591743250999762944");
|
||
list.add("002212024011212514610591744278260514816");
|
||
list.add("002212024011212570710591745627182030848");
|
||
list.add("002212024011213011110591746649434726400");
|
||
list.add("002212024011213035810591747349243707392");
|
||
list.add("002212024011213054210591747788053233664");
|
||
list.add("002212024011213100310591748880953987072");
|
||
list.add("002212024011213105710591749107575545856");
|
||
list.add("002212024011213173310591750770558451712");
|
||
list.add("002212024011213195110591751346022596608");
|
||
list.add("002212024011213242110591752481744519168");
|
||
list.add("002212024011213292510591753753665687552");
|
||
list.add("002212024011213300010591753903929942016");
|
||
list.add("002212024011213335510591754887357894656");
|
||
list.add("002212024011213375810591755906690011136");
|
||
list.add("002212024011213385410591756142373429248");
|
||
list.add("002212024011213463410591758069987528704");
|
||
list.add("002212024011213481010591758473978548224");
|
||
list.add("002212024011214011510591761767035936768");
|
||
list.add("002212024011214043810591762616880427008");
|
||
list.add("002212024011214062210591763054731149312");
|
||
list.add("002212024011214091410591763774009208832");
|
||
list.add("002212024011214131010591764763649896448");
|
||
list.add("002212024011214162810591765594292199424");
|
||
list.add("002212024011214170910591765769286770688");
|
||
list.add("002212024011214190810591766266185879552");
|
||
list.add("002212024011214263810591768152675090432");
|
||
list.add("002212024011214290110591768753389387776");
|
||
list.add("002212024011214294410591768933415215104");
|
||
list.add("002212024011214330010591769758580297728");
|
||
list.add("002212024011214332910591769877107134464");
|
||
list.add("002212024011214371610591770832254132224");
|
||
list.add("002212024011214465410591773253946793984");
|
||
list.add("002212024011214482310591773626676768768");
|
||
list.add("002212024011214524110591774711276494848");
|
||
list.add("002212024011214540610591775065898909696");
|
||
list.add("002212024011215010910591776841116930048");
|
||
list.add("002212024011215141410591780132485722112");
|
||
list.add("002212024011215330310591784867458818048");
|
||
list.add("002212024011216090110591793919200718848");
|
||
list.add("002212024011216402610591801825136603136");
|
||
list.add("002212024011216485310591803950680723456");
|
||
list.add("002212024011216545310591805462764183552");
|
||
list.add("002212024011217083410591808906159939584");
|
||
list.add("002212024011217322110591814891263311872");
|
||
list.add("002212024011217430210591817578139516928");
|
||
list.add("002212024011217453110591818203257335808");
|
||
list.add("002212024011217551310591820644115771392");
|
||
list.add("002212024011217570510591821117598167040");
|
||
list.add("002212024011218012810591822219728232448");
|
||
list.add("002212024011218484010591834096820416512");
|
||
list.add("002212024011218543410591835581103636480");
|
||
list.add("002212024011219155710591840963485425664");
|
||
list.add("002212024011219193210591841863160201216");
|
||
list.add("002212024011219402210591847106379239424");
|
||
list.add("002212024011219441210591848074091118592");
|
||
list.add("002212024011219474610591848968088354817");
|
||
list.add("002212024011219522310591850133410406400");
|
||
list.add("002212024011220101710591854636790005760");
|
||
list.add("002212024011220112510591854923546181632");
|
||
list.add("002212024011220240610591858113719689216");
|
||
list.add("002212024011220402710591862229306142720");
|
||
list.add("002212024011220513510591865030789689344");
|
||
list.add("002212024011221002310591867243176083456");
|
||
list.add("002212024011221031010591867943911124992");
|
||
list.add("002212024011221125310591870388438515712");
|
||
list.add("002212024011221132710591870533257322496");
|
||
list.add("002212024011221270410591873958973927424");
|
||
list.add("002212024011221322410591875301730017280");
|
||
list.add("002212024011221330610591875477611298816");
|
||
list.add("002212024011221424310591877897056280576");
|
||
list.add("002212024011221431010591878012398370816");
|
||
list.add("002212024011221440510591878241206042624");
|
||
list.add("002212024011221465510591878955927298048");
|
||
list.add("002212024011221483210591879361986256896");
|
||
list.add("002212024011221510810591880015926386688");
|
||
list.add("002212024011221543710591880891479838720");
|
||
list.add("002212024011221551910591881069466443776");
|
||
list.add("002212024011221555310591881211070308352");
|
||
list.add("002212024011221575710591881733896617984");
|
||
list.add("002212024011221591310591882051688759296");
|
||
list.add("002212024011222100310591884776114831360");
|
||
list.add("002212024011222185710591887017633333248");
|
||
list.add("002212024011222204610591887472070455296");
|
||
list.add("002212024011222244110591888459851210752");
|
||
list.add("002212024011222250310591888550146068480");
|
||
list.add("002212024011222255410591888767318712320");
|
||
list.add("002212024011222260610591888815400108032");
|
||
list.add("002212024011222260910591888827333963776");
|
||
list.add("002212024011222264410591888976553566208");
|
||
list.add("002212024011222320310591890313468145664");
|
||
list.add("002212024011222320610591890324500238336");
|
||
list.add("002212024011222381210591891862752149504");
|
||
list.add("002212024011222390110591892065309065216");
|
||
list.add("002212024011222393010591892187752800256");
|
||
list.add("002212024011222445510591893549343170560");
|
||
list.add("002212024011222450010591893573244538880");
|
||
list.add("002212024011222452010591893657638305792");
|
||
list.add("002212024011222504510591895018087858176");
|
||
list.add("002212024011222513210591895216604266496");
|
||
list.add("002212024011222591510591897159819231232");
|
||
list.add("002212024011223025410591898077887152128");
|
||
list.add("002212024011223070510591899128394637312");
|
||
list.add("002212024011223095310591899835520765952");
|
||
list.add("002212024011223165510591901603175940096");
|
||
list.add("002212024011223200810591902411879313408");
|
||
list.add("002212024011223231310591903191308599296");
|
||
list.add("002212024011223302610591905006934138880");
|
||
list.add("002212024011223305510591905126742089728");
|
||
list.add("002212024011223341410591905962379632640");
|
||
list.add("002212024011223352710591906267431424000");
|
||
list.add("002212024011223353210591906289942253568");
|
||
list.add("002212024011223395510591907393702711296");
|
||
list.add("002212024011223411710591907737336500224");
|
||
list.add("002212024011223422410591908016166903808");
|
||
list.add("002212024011223423210591908049956798464");
|
||
list.add("002212024011223441510591908482446868480");
|
||
list.add("002212024011223455710591908912493596672");
|
||
list.add("002212024011223462210591909016197763072");
|
||
list.add("002212024011223483910591909589999607808");
|
||
list.add("002212024011223524410591910619198103552");
|
||
list.add("002212024011223530910591910722914705408");
|
||
list.add("002212024011300010710591912729058725888");
|
||
list.add("002212024011300035110591913415876706304");
|
||
list.add("002212024011300053310591913842620198912");
|
||
list.add("002212024011300120910591915504366706688");
|
||
list.add("002212024011300143710591916123987103744");
|
||
list.add("002212024011300211110591917777678843904");
|
||
list.add("002212024011300224310591918164245430272");
|
||
list.add("002212024011300224410591918166187302912");
|
||
list.add("002212024011300254310591918917198495744");
|
||
list.add("002212024011300303310591920134276464640");
|
||
list.add("002212024011300312110591920336000155648");
|
||
list.add("002212024011300312210591920338857750528");
|
||
list.add("002212024011300344710591921201488818176");
|
||
list.add("002212024011300374010591921927217729536");
|
||
list.add("002212024011300401810591922587963187200");
|
||
list.add("002212024011300421710591923088209317888");
|
||
list.add("002212024011300583610591927195924910080");
|
||
list.add("002212024011301014210591927975712256000");
|
||
list.add("002212024011301110110591930318279397376");
|
||
list.add("002212024011301112410591930413036040192");
|
||
list.add("002212024011301112810591930433880584192");
|
||
list.add("002212024011301134310591930998958190592");
|
||
list.add("002212024011301150810591931354897555456");
|
||
list.add("002212024011301155910591931569692114944");
|
||
list.add("002212024011301165510591931802381316096");
|
||
list.add("002212024011301242310591933684569067520");
|
||
list.add("002212024011301290810591934876192505856");
|
||
list.add("002212024011301465410591939349060681728");
|
||
list.add("002212024011301470710591939405213155328");
|
||
list.add("002212024011301472410591939472964378624");
|
||
list.add("002212024011301492010591939961995120640");
|
||
list.add("002212024011301531810591940960533045248");
|
||
list.add("002212024011302021810591943225570598912");
|
||
list.add("002212024011302065710591944394518781952");
|
||
list.add("002212024011302074810591944607432921088");
|
||
list.add("002212024011302111010591945456642265088");
|
||
list.add("002212024011302214610591948124228145152");
|
||
list.add("002212024011302273210591949573346250752");
|
||
list.add("002212024011302325310591950919888924672");
|
||
list.add("002212024011302332710591951061922832384");
|
||
list.add("002212024011302365110591951920821911552");
|
||
list.add("002212024011302483110591954856761286656");
|
||
list.add("002212024011302490110591954981560729600");
|
||
list.add("002212024011303010010591957998420811776");
|
||
list.add("002212024011303051810591959078009495552");
|
||
list.add("002212024011303082310591959854761279488");
|
||
list.add("002212024011303153710591961675654578176");
|
||
list.add("002212024011303184510591962464320610304");
|
||
list.add("002212024011303185110591962489572663296");
|
||
list.add("002212024011303425810591968557799415808");
|
||
list.add("002212024011303442410591968920882724864");
|
||
list.add("002212024011303470110591969576413163520");
|
||
list.add("002212024011303573410591972233204916224");
|
||
list.add("002212024011303590510591972614794338304");
|
||
list.add("002212024011304032110591973688244649984");
|
||
list.add("002212024011304041810591973927577964544");
|
||
list.add("002212024011304154510591976806534303744");
|
||
list.add("002212024011304213710591978283857567744");
|
||
list.add("002212024011304325610591981134658916352");
|
||
list.add("002212024011305234610591993924425572352");
|
||
list.add("002212024011305384710591997706441027584");
|
||
list.add("002212024011305401810591998085737144320");
|
||
list.add("002212024011305511510592000840152076288");
|
||
list.add("002212024011305554210592001962951794688");
|
||
list.add("002212024011306053610592004451784884224");
|
||
list.add("002212024011306145010592006777085812736");
|
||
list.add("002212024011306253310592009475248021504");
|
||
list.add("002212024011306255110592009550112391168");
|
||
list.add("002212024011306531110592016429189513216");
|
||
list.add("002212024011307052510592019505761828864");
|
||
list.add("002212024011307224610592023870837460992");
|
||
list.add("002212024011307251910592024512287076352");
|
||
list.add("002212024011308204410592038460325732352");
|
||
list.add("002212024011308345710592042037692289024");
|
||
list.add("002212024011308571310592047643727712256");
|
||
list.add("002212024011309015410592048819818151936");
|
||
list.add("002212024011309272010592055221922725888");
|
||
list.add("002212024011310270310592070250963357696");
|
||
list.add("002212024011311050710592079828559196160");
|
||
list.add("002212024011311132510592081916953485312");
|
||
list.add("002212024011311292210592085931655536640");
|
||
list.add("002212024011311310510592086364434063360");
|
||
list.add("002212024011311391310592088409191968768");
|
||
list.add("002212024011312011010592093933926047744");
|
||
list.add("002212024011312012010592093976443912192");
|
||
list.add("002212024011312161210592097717620998144");
|
||
list.add("002212024011312164810592097870414716928");
|
||
list.add("002212024011312241010592099721307127808");
|
||
list.add("002212024011312284210592100863935471616");
|
||
list.add("002212024011312465810592105458166325248");
|
||
list.add("002212024011312491810592106047518404608");
|
||
list.add("002212024011312512810592106593656061952");
|
||
list.add("002212024011312594710592108684106432512");
|
||
list.add("002212024011313002810592108858526240768");
|
||
list.add("002212024011313090110592111007708848128");
|
||
list.add("002212024011313105110592111472536051712");
|
||
list.add("002212024011313143410592112408071454720");
|
||
list.add("002212024011313202310592113868154724352");
|
||
list.add("002212024011313243310592114916441407488");
|
||
list.add("002212024011313333910592117206983016448");
|
||
list.add("002212024011313351810592117622787493888");
|
||
list.add("002212024011313401210592118856040042496");
|
||
list.add("002212024011313461110592120363267350528");
|
||
list.add("002212024011313503710592121479601016832");
|
||
list.add("002212024011313523710592121982896795648");
|
||
list.add("002212024011313564910592123037725351936");
|
||
list.add("002212024011313564910592123038623023104");
|
||
list.add("002212024011314023710592124496726585344");
|
||
list.add("002212024011314134110592127282391240704");
|
||
list.add("002212024011314192410592128723351977984");
|
||
list.add("002212024011314223510592129523193081856");
|
||
list.add("002212024011314372610592133260643246080");
|
||
list.add("002212024011314411810592134232618672128");
|
||
list.add("002212024011314423810592134569731395584");
|
||
list.add("002212024011314442010592134994680954880");
|
||
list.add("002212024011314540410592137447693041664");
|
||
list.add("002212024011314553410592137821549576192");
|
||
list.add("002212024011314561510592137996901388288");
|
||
list.add("002212024011314563010592138058746724352");
|
||
list.add("002212024011314582310592138533141168128");
|
||
list.add("002212024011314582910592138556216287232");
|
||
list.add("002212024011314595010592138895573082112");
|
||
list.add("002212024011315022710592139557717360640");
|
||
list.add("002212024011315044210592140121635979264");
|
||
list.add("002212024011315082810592141069292249088");
|
||
list.add("002212024011315113410592141849768337408");
|
||
list.add("002212024011315140210592142471137755136");
|
||
list.add("002212024011315160610592142992340541440");
|
||
list.add("002212024011315162810592143081811464192");
|
||
list.add("002212024011315250610592145256105222144");
|
||
list.add("002212024011315304010592146656562208768");
|
||
list.add("002212024011315415610592149490837852160");
|
||
list.add("002212024011315430810592149795520602112");
|
||
list.add("002212024011316233310592159964258295808");
|
||
list.add("002212024011316533410592167519443345408");
|
||
list.add("002212024011317181010592173710850760704");
|
||
list.add("002212024011318075510592186229583372288");
|
||
list.add("002212024011318271310592191085748633600");
|
||
list.add("002212024011318383410592193945164963840");
|
||
list.add("002212024011318405310592194527869231104");
|
||
list.add("002212024011318543010592197951914672128");
|
||
list.add("002212024011319004410592199521999646720");
|
||
list.add("002212024011319013210592199724739715072");
|
||
list.add("002212024011319105210592202069770891264");
|
||
list.add("002212024011319111110592202150762897408");
|
||
list.add("002212024011319135010592202817882456064");
|
||
list.add("002212024011319163310592203502043979776");
|
||
list.add("002212024011319302910592207009824301056");
|
||
list.add("002212024011319415810592209897031548928");
|
||
list.add("002212024011319501310592211973657169920");
|
||
list.add("002212024011319541710592212998764843008");
|
||
list.add("002212024011319555510592213409640206336");
|
||
list.add("002212024011320015910592214935497949184");
|
||
list.add("002212024011320075710592216437533429760");
|
||
list.add("002212024011320103010592217078490308608");
|
||
list.add("002212024011320194410592219404161155072");
|
||
list.add("002212024011320452910592225881887469568");
|
||
list.add("002212024011320542810592228141570969600");
|
||
list.add("002212024011321001910592229615838121984");
|
||
list.add("002212024011321040910592230580338507776");
|
||
list.add("002212024011321062110592231133298683904");
|
||
list.add("002212024011321074910592231504094330880");
|
||
list.add("002212024011321092310592231899336179712");
|
||
list.add("002212024011321101010592232092701806592");
|
||
list.add("002212024011321174910592234018575908864");
|
||
list.add("002212024011321202110592234658059767808");
|
||
list.add("002212024011321335510592238070081908736");
|
||
list.add("002212024011321470810592241396624498688");
|
||
list.add("002212024011321560810592243662924242944");
|
||
list.add("002212024011322120110592247660783702016");
|
||
list.add("002212024011322122010592247737769607168");
|
||
list.add("002212024011322244410592250861930115072");
|
||
list.add("002212024011322261510592251240344797184");
|
||
list.add("002212024011322261810592251256249217024");
|
||
list.add("002212024011322264510592251365940428800");
|
||
list.add("002212024011322271110592251478095388672");
|
||
list.add("002212024011322272310592251528234827776");
|
||
list.add("002212024011322285410592251910450528256");
|
||
list.add("002212024011322302310592252283431321600");
|
||
list.add("002212024011322311110592252484269064192");
|
||
list.add("002212024011322344510592253380142952448");
|
||
list.add("002212024011322351110592253489275695104");
|
||
list.add("002212024011322373910592254110021115904");
|
||
list.add("002212024011322433110592255586512592896");
|
||
list.add("002212024011322504810592257418408656896");
|
||
list.add("002212024011322511110592257514281820160");
|
||
list.add("002212024011322514010592257639570055168");
|
||
list.add("002212024011322551810592258551583531008");
|
||
list.add("002212024011322552810592258595108003840");
|
||
list.add("002212024011322573410592259124179361792");
|
||
list.add("002212024011322584310592259411162910720");
|
||
list.add("002212024011322592110592259573458624512");
|
||
list.add("002212024011323025910592260486539636736");
|
||
list.add("002212024011323055310592261214612090880");
|
||
list.add("002212024011323070510592261515784966144");
|
||
list.add("002212024011323203410592264911006064640");
|
||
list.add("002212024011323234910592265727291150336");
|
||
list.add("002212024011323311110592267584166027264");
|
||
list.add("002212024011323375210592269265234685952");
|
||
list.add("002212024011323383310592269435874476032");
|
||
list.add("002212024011323435510592270787630153728");
|
||
list.add("002212024011323492910592272188159135744");
|
||
list.add("002212024011323500410592272335189917696");
|
||
list.add("002212024011323515310592272790854909952");
|
||
list.add("002212024011323535810592273315013550080");
|
||
list.add("002212024011323560810592273861388722176");
|
||
list.add("002212024011323591010592274623997075456");
|
||
list.add("002212024011400011310592275139762282496");
|
||
list.add("002212024011400015910592275331680006144");
|
||
list.add("002212024011400015910592275335296421888");
|
||
list.add("002212024011400041810592275915355537408");
|
||
list.add("002212024011400072410592276697460408320");
|
||
list.add("002212024011400203310592280008258707456");
|
||
list.add("002212024011400243910592281036566515712");
|
||
list.add("002212024011400345110592283603226173440");
|
||
list.add("002212024011400391910592284728406130688");
|
||
list.add("002212024011400393010592284775587856384");
|
||
list.add("002212024011400451610592286226616377344");
|
||
list.add("002212024011400501610592287482818961408");
|
||
list.add("002212024011400501910592287495221252096");
|
||
list.add("002212024011400533510592288319259500544");
|
||
list.add("002212024011401032810592290806140989440");
|
||
list.add("002212024011401073210592291830114394112");
|
||
list.add("002212024011401083410592292089865297920");
|
||
list.add("002212024011401114510592292892976193536");
|
||
list.add("002212024011401120710592292985294675968");
|
||
list.add("002212024011401122610592293062333652992");
|
||
list.add("002212024011401175310592294434728701952");
|
||
list.add("002212024011401210510592295241647874048");
|
||
list.add("002212024011401224010592295637937254400");
|
||
list.add("002212024011401265310592296698319949824");
|
||
list.add("002212024011401300510592297506505072640");
|
||
list.add("002212024011401323010592298113764528128");
|
||
list.add("002212024011401334510592298428014514176");
|
||
list.add("002212024011401351910592298821015912448");
|
||
list.add("002212024011401414010592300418521993216");
|
||
list.add("002212024011401524810592303222350106624");
|
||
list.add("002212024011402054310592306474084155392");
|
||
list.add("002212024011402140710592308585200979968");
|
||
list.add("002212024011402240110592311078213513216");
|
||
list.add("002212024011402292610592312440268476416");
|
||
list.add("002212024011402294010592312501391278080");
|
||
list.add("002212024011402322010592313168907161600");
|
||
list.add("002212024011402360610592314116842356736");
|
||
list.add("002212024011402361910592314172144197632");
|
||
list.add("002212024011402440810592316140815466496");
|
||
list.add("002212024011402484010592317280398032896");
|
||
list.add("002212024011403001010592320175967293440");
|
||
list.add("002212024011403040910592321177063890944");
|
||
list.add("002212024011403260510592326697547976704");
|
||
list.add("002212024011403313310592328073346768896");
|
||
list.add("002212024011403352010592329025602580480");
|
||
list.add("002212024011403451810592331535088218112");
|
||
list.add("002212024011403462310592331803793637376");
|
||
list.add("002212024011403510710592332998720835584");
|
||
list.add("002212024011403511110592333012781662208");
|
||
list.add("002212024011404005710592335470067666945");
|
||
list.add("002212024011404222510592340874345136128");
|
||
list.add("002212024011404285810592342524005310464");
|
||
list.add("002212024011404391210592345096990679040");
|
||
list.add("002212024011404402110592345386049708032");
|
||
list.add("002212024011404444510592346495429070848");
|
||
list.add("002212024011404511310592348121720766464");
|
||
list.add("002212024011404575410592349803172495360");
|
||
list.add("002212024011405083910592352510560399360");
|
||
list.add("002212024011405174010592354779430248448");
|
||
list.add("002212024011405181110592354907467796480");
|
||
list.add("002212024011405193610592355264162918400");
|
||
list.add("002212024011405221810592355943032373248");
|
||
list.add("002212024011405290610592357654418087936");
|
||
list.add("002212024011405370910592359680728207360");
|
||
list.add("002212024011405493310592362803713495040");
|
||
list.add("002212024011405554410592364358736445440");
|
||
list.add("002212024011406220510592370990092337152");
|
||
list.add("002212024011406243310592371608476413952");
|
||
list.add("002212024011406375410592374970915442688");
|
||
list.add("002212024011406422610592376111159300096");
|
||
list.add("002212024011407223110592386195511824384");
|
||
list.add("002212024011407313210592388465638891520");
|
||
list.add("002212024011408205210592400881110085632");
|
||
list.add("002212024011408333110592404064081469440");
|
||
list.add("002212024011409051110592412034046316544");
|
||
list.add("002212024011409130010592414000607784960");
|
||
list.add("002212024011409312910592418652590919680");
|
||
list.add("002212024011409363010592419913528995840");
|
||
list.add("002212024011409475210592422774780100608");
|
||
list.add("002212024011409482110592422896007368704");
|
||
list.add("002212024011409530910592424105386655744");
|
||
list.add("002212024011410094410592428279820177408");
|
||
list.add("002212024011410442310592436998857416704");
|
||
list.add("002212024011410511110592438712195194880");
|
||
list.add("002212024011410525910592439162192490496");
|
||
list.add("002212024011411030810592441717618720769");
|
||
list.add("002212024011411034110592441854956630016");
|
||
list.add("002212024011411051310592442242841399296");
|
||
list.add("002212024011411081110592442987162857472");
|
||
list.add("002212024011411110810592443731671638016");
|
||
list.add("002212024011411111710592443769409867776");
|
||
list.add("002212024011411114410592443882202546176");
|
||
list.add("002212024011411151610592444771628433408");
|
||
list.add("002212024011411363810592450148833853440");
|
||
list.add("002212024011411383910592450655511240704");
|
||
list.add("002212024011411485310592453229299843072");
|
||
list.add("002212024011411505910592453758084136960");
|
||
list.add("002212024011412115710592459035713945600");
|
||
list.add("002212024011412135610592459534209286144");
|
||
list.add("002212024011412472010592467940654411776");
|
||
list.add("002212024011412565810592470366412292096");
|
||
list.add("002212024011413024110592471802055352320");
|
||
list.add("002212024011413050110592472389780082688");
|
||
list.add("002212024011413063910592472799474577408");
|
||
list.add("002212024011413093110592473523813830656");
|
||
list.add("002212024011413285210592478390898237440");
|
||
list.add("002212024011413355110592480150621863936");
|
||
list.add("002212024011413364510592480377924325376");
|
||
list.add("002212024011413365410592480412720594944");
|
||
list.add("002212024011413384210592480865420038144");
|
||
list.add("002212024011413540210592484727940665344");
|
||
list.add("002212024011413541010592484759611854848");
|
||
list.add("002212024011413550810592485002467532800");
|
||
list.add("002212024011413550810592485002651451392");
|
||
list.add("002212024011413560210592485228205154304");
|
||
list.add("002212024011414004810592486428683923456");
|
||
list.add("002212024011414010610592486503121383424");
|
||
list.add("002212024011414113910592489159270322176");
|
||
list.add("002212024011414132210592489591220719616");
|
||
list.add("002212024011414150710592490030892138496");
|
||
list.add("002212024011414180810592490789850005504");
|
||
list.add("002212024011414273510592493170390065152");
|
||
list.add("002212024011414280210592493281029816320");
|
||
list.add("002212024011414305110592493992663543808");
|
||
list.add("002212024011414323210592494416134070272");
|
||
list.add("002212024011414521010592499356713803776");
|
||
list.add("002212024011414554710592500267635929088");
|
||
list.add("002212024011415001710592501400015314944");
|
||
list.add("002212024011415013610592501731751264256");
|
||
list.add("002212024011415082010592503422150995968");
|
||
list.add("002212024011415084910592503544927707136");
|
||
list.add("002212024011415120010592504345301778432");
|
||
list.add("002212024011415191710592506179307102208");
|
||
list.add("002212024011415275610592508355667902464");
|
||
list.add("002212024011415340210592509891551387648");
|
||
list.add("002212024011415350510592510156279107584");
|
||
list.add("002212024011415351910592510216639307776");
|
||
list.add("002212024011415411610592511713871765504");
|
||
list.add("002212024011415414410592511828510334976");
|
||
list.add("002212024011415421410592511953305550848");
|
||
list.add("002212024011415525010592514621963083776");
|
||
list.add("002212024011415531010592514706144616448");
|
||
list.add("002212024011415543010592515042785992704");
|
||
list.add("002212024011415560810592515455392317440");
|
||
list.add("002212024011415570910592515711315988480");
|
||
list.add("002212024011416220610592521986472861696");
|
||
list.add("002212024011416323610592524631367442432");
|
||
list.add("002212024011416341610592525050005118976");
|
||
list.add("002212024011416385610592526223345033216");
|
||
list.add("002212024011416432610592527357476265984");
|
||
list.add("002212024011417044210592532708321906688");
|
||
list.add("002212024011417311710592539396863115264");
|
||
list.add("002212024011417353710592540487245848576");
|
||
list.add("002212024011417365310592540808311431168");
|
||
list.add("002212024011417405710592541830537768960");
|
||
list.add("002212024011418264710592553366183641088");
|
||
list.add("002212024011418353810592555594649661440");
|
||
list.add("002212024011419005610592561957900574720");
|
||
list.add("002212024011419025610592562463029231616");
|
||
list.add("002212024011419030310592562494419226624");
|
||
list.add("002212024011419041510592562793735999488");
|
||
list.add("002212024011419112710592564607729745920");
|
||
list.add("002212024011419113510592564639472238592");
|
||
list.add("002212024011419302610592569385325006848");
|
||
list.add("002212024011419323310592569914822598656");
|
||
list.add("002212024011419490910592574094744911872");
|
||
list.add("002212024011419585810592576563360669696");
|
||
list.add("002212024011420082310592578933767438336");
|
||
list.add("002212024011420134110592580269257478144");
|
||
list.add("002212024011420151610592580666962845696");
|
||
list.add("002212024011420265010592583576630411264");
|
||
list.add("002212024011420465610592588635218280448");
|
||
list.add("002212024011421065110592593646068621312");
|
||
list.add("002212024011421075210592593902084112384");
|
||
list.add("002212024011421082110592594025077501952");
|
||
list.add("002212024011421161110592595994828591104");
|
||
list.add("002212024011421165010592596159407542272");
|
||
list.add("002212024011421203210592597090303078400");
|
||
list.add("002212024011421251010592598255944323072");
|
||
list.add("002212024011421273610592598871215136768");
|
||
list.add("002212024011421290210592599228497870848");
|
||
list.add("002212024011421305110592599686076858368");
|
||
list.add("002212024011421322910592600097085095936");
|
||
list.add("002212024011421345010592600689334677504");
|
||
list.add("002212024011421400610592602015758147584");
|
||
list.add("002212024011422050810592608314385137664");
|
||
list.add("002212024011422081310592609093161684992");
|
||
list.add("002212024011422082310592609132867174400");
|
||
list.add("002212024011422103210592609674775445504");
|
||
list.add("002212024011422103910592609705702121472");
|
||
list.add("002212024011422171710592611373498986496");
|
||
list.add("002212024011422192910592611927372546048");
|
||
list.add("002212024011422194610592611996943466496");
|
||
list.add("002212024011422202210592612148761935872");
|
||
list.add("002212024011422210610592612333676908544");
|
||
list.add("002212024011422220210592612570181246976");
|
||
list.add("002212024011422231010592612853980258304");
|
||
list.add("002212024011422252710592613428086042624");
|
||
list.add("002212024011422284710592614267765608448");
|
||
list.add("002212024011422302310592614670409613312");
|
||
list.add("002212024011422305110592614786740887552");
|
||
list.add("002212024011422310310592614836280393728");
|
||
list.add("002212024011422315110592615039713800192");
|
||
list.add("002212024011422325010592615286439624704");
|
||
list.add("002212024011422360710592616111160066048");
|
||
list.add("002212024011422365610592616316520878080");
|
||
list.add("002212024011422395210592617056111009792");
|
||
list.add("002212024011422400710592617119929200640");
|
||
list.add("002212024011422430610592617868271452160");
|
||
list.add("002212024011422464910592618806035210240");
|
||
list.add("002212024011422541210592620664200843264");
|
||
list.add("002212024011422554910592621068628217856");
|
||
list.add("002212024011423004010592622289436966912");
|
||
list.add("002212024011423022110592622712675033088");
|
||
list.add("002212024011423070710592623914200522752");
|
||
list.add("002212024011423083910592624299588669440");
|
||
list.add("002212024011423102410592624741646548992");
|
||
list.add("002212024011423143110592625775152324608");
|
||
list.add("002212024011423220610592627684879998976");
|
||
list.add("002212024011423270310592628930055491584");
|
||
list.add("002212024011423281510592629230524821504");
|
||
list.add("002212024011423283410592629310382571520");
|
||
list.add("002212024011423321310592630229945769984");
|
||
list.add("002212024011423362910592631302396477440");
|
||
list.add("002212024011423363710592631337319612416");
|
||
list.add("002212024011423373610592631583852322816");
|
||
list.add("002212024011423423010592632820245942272");
|
||
list.add("002212024011423425710592632932000321536");
|
||
list.add("002212024011423450910592633484713058304");
|
||
list.add("002212024011500004010592637392216776704");
|
||
list.add("002212024011500012510592637578223738880");
|
||
list.add("002212024011500021610592637792726675456");
|
||
list.add("002212024011500045310592638452609662976");
|
||
list.add("002212024011500063910592638896462053376");
|
||
list.add("002212024011500085210592639453262176256");
|
||
list.add("002212024011500093710592639642220003328");
|
||
list.add("002212024011500205910592642501523177472");
|
||
list.add("002212024011500215610592642740955545600");
|
||
list.add("002212024011500252010592643599600877568");
|
||
list.add("002212024011500252610592643622929596416");
|
||
list.add("002212024011500385210592647004525551616");
|
||
list.add("002212024011500400410592647305506836480");
|
||
list.add("002212024011500450410592648563107950592");
|
||
list.add("002212024011500455610592648780735799296");
|
||
list.add("002212024011500481310592649356706041856");
|
||
list.add("002212024011500505810592650048042561536");
|
||
list.add("002212024011500534210592650738154590208");
|
||
list.add("002212024011500534810592650759977730048");
|
||
list.add("002212024011500544910592651015946465280");
|
||
list.add("002212024011501191210592657155369107456");
|
||
list.add("002212024011501313510592660270656999424");
|
||
list.add("002212024011501324210592660549290852352");
|
||
list.add("002212024011501340810592660913838784512");
|
||
list.add("002212024011501350210592661136405331968");
|
||
list.add("002212024011501372310592661728032301056");
|
||
list.add("002212024011501400310592662402170081280");
|
||
list.add("002212024011501444010592663562549387264");
|
||
list.add("002212024011501470810592664182039732224");
|
||
list.add("002212024011501525210592665625206419456");
|
||
list.add("002212024011501544510592666099132264448");
|
||
list.add("002212024011501573610592666815655796736");
|
||
list.add("002212024011502020010592667925095342080");
|
||
list.add("002212024011502024010592668090706120704");
|
||
list.add("002212024011502032010592668259923165184");
|
||
list.add("002212024011502082210592669526346420224");
|
||
list.add("002212024011502112910592670312055656448");
|
||
list.add("002212024011502131710592670762214842368");
|
||
list.add("002212024011502180110592671957241163776");
|
||
list.add("002212024011502343610592676127648092160");
|
||
list.add("002212024011502370710592676761553682432");
|
||
list.add("002212024011502403810592677648839114752");
|
||
list.add("002212024011503151410592686356502863872");
|
||
list.add("002212024011503191210592687352140480512");
|
||
list.add("002212024011503204210592687732354928640");
|
||
list.add("002212024011503211710592687876361285632");
|
||
list.add("002212024011503354310592691508890787840");
|
||
list.add("002212024011503391510592692399269560320");
|
||
list.add("002212024011503533810592696019198574592");
|
||
list.add("002212024011503594510592697555991560192");
|
||
list.add("002212024011504093910592700050601271296");
|
||
list.add("002212024011504185610592702386939875328");
|
||
list.add("002212024011504300010592705169600532480");
|
||
list.add("002212024011504313310592705561271955456");
|
||
list.add("002212024011504313510592705566959161344");
|
||
list.add("002212024011504330010592705926808682496");
|
||
list.add("002212024011504410310592707949283086336");
|
||
list.add("002212024011504501510592710266300768256");
|
||
list.add("002212024011504504610592710394239475712");
|
||
list.add("002212024011504552810592711580928397312");
|
||
list.add("002212024011505043410592713867097358336");
|
||
list.add("002212024011505300510592720292604006400");
|
||
list.add("002212024011505343410592721417167138816");
|
||
list.add("002212024011505474910592724754613592064");
|
||
list.add("002212024011505515910592725801058918400");
|
||
list.add("002212024011506020310592728333432209408");
|
||
list.add("002212024011506072910592729703768518656");
|
||
list.add("002212024011506192910592732723141312512");
|
||
list.add("002212024011506571710592742236931878912");
|
||
list.add("002212024011507232010592748791080058880");
|
||
list.add("002212024011507373910592752394460422144");
|
||
list.add("002212024011507491710592755321075875840");
|
||
list.add("002212024011507554110592756933202669568");
|
||
list.add("002212024011508190310592762813564571648");
|
||
list.add("002212024011508281610592765131039866880");
|
||
list.add("002212024011508292710592765429579112448");
|
||
list.add("002212024011508570810592772394898530304");
|
||
list.add("002212024011509053810592774537225039872");
|
||
list.add("002212024011509065510592774860207505408");
|
||
list.add("002212024011509120510592776159511400448");
|
||
list.add("002212024011509272210592780005297221632");
|
||
list.add("002212024011509320910592781208429125632");
|
||
list.add("002212024011509382910592782802476703744");
|
||
list.add("002212024011509402710592783297798897664");
|
||
list.add("002212024011509440310592784204542197760");
|
||
list.add("002212024011509495810592785693526622208");
|
||
list.add("002212024011509571110592787509041291264");
|
||
list.add("002212024011510291310592795568748748800");
|
||
list.add("002212024011510540210592801815717928960");
|
||
list.add("002212024011511053810592804736497778688");
|
||
list.add("002212024011511172010592807680662261760");
|
||
list.add("002212024011511184910592808051960872960");
|
||
list.add("002212024011511280110592810367643975680");
|
||
list.add("002212024011511325010592811580421533696");
|
||
list.add("002212024011511333710592811777957666816");
|
||
list.add("002212024011511471010592815185380876288");
|
||
list.add("002212024011511500310592815913471963136");
|
||
list.add("002212024011511514910592816358041018368");
|
||
list.add("002212024011512040610592819448173486080");
|
||
list.add("002212024011512070410592820193500676096");
|
||
list.add("002212024011512074510592820367556595712");
|
||
list.add("002212024011512134710592821886964162560");
|
||
list.add("002212024011512194010592823365333643264");
|
||
list.add("002212024011512201510592823510623272960");
|
||
list.add("002212024011512204910592823653843419136");
|
||
list.add("002212024011512213610592823850860929024");
|
||
list.add("002212024011512283010592825590060843008");
|
||
list.add("002212024011512371910592827808839032832");
|
||
list.add("002212024011512410210592828741173080064");
|
||
list.add("002212024011512434810592829438059737088");
|
||
list.add("002212024011512453410592829882328805376");
|
||
list.add("002212024011512470210592830253128441856");
|
||
list.add("002212024011512485810592830741116829696");
|
||
list.add("002212024011512503910592831161387532288");
|
||
list.add("002212024011512531510592831816143171584");
|
||
list.add("002212024011512570910592832799226040320");
|
||
list.add("002212024011512582810592833130806198272");
|
||
list.add("002212024011513001810592833591815544832");
|
||
list.add("002212024011513023910592834181786198016");
|
||
list.add("002212024011513041010592834565906751488");
|
||
list.add("002212024011513043710592834677192949760");
|
||
list.add("002212024011513074810592835478824345600");
|
||
list.add("002212024011513080410592835544918368256");
|
||
list.add("002212024011513122110592836621902970880");
|
||
list.add("002212024011513224110592839224094785536");
|
||
list.add("002212024011513241810592839632769470464");
|
||
list.add("002212024011513270510592840330978750464");
|
||
list.add("002212024011513270610592840336901488640");
|
||
list.add("002212024011513281410592840621316591616");
|
||
list.add("002212024011513310010592841317962469376");
|
||
list.add("002212024011513351610592842391837437952");
|
||
list.add("002212024011513404110592843752177065984");
|
||
list.add("002212024011513413010592843958683623424");
|
||
list.add("002212024011513460610592845115543883776");
|
||
list.add("002212024011513574710592848056396910592");
|
||
list.add("002212024011513594910592848568747921408");
|
||
list.add("002212024011514025410592849343255838720");
|
||
list.add("002212024011514194010592853563052613632");
|
||
list.add("002212024011514203810592853807136088064");
|
||
list.add("002212024011514321410592856726669524992");
|
||
list.add("002212024011514340510592857191843528704");
|
||
list.add("002212024011514343010592857297254076416");
|
||
list.add("002212024011514352810592857541598150656");
|
||
list.add("002212024011514372510592858033385762816");
|
||
list.add("002212024011514431210592859487117090816");
|
||
list.add("002212024011514464210592860369435131904");
|
||
list.add("002212024011514475710592860684472631296");
|
||
list.add("002212024011514510910592861486042419200");
|
||
list.add("002212024011514514210592861627915018240");
|
||
list.add("002212024011514515710592861688132374528");
|
||
list.add("002212024011514555310592862677187092480");
|
||
list.add("002212024011515010010592863965081690112");
|
||
list.add("002212024011515065910592865472063598592");
|
||
list.add("002212024011515121410592866793733652480");
|
||
list.add("002212024011515152110592867578902319104");
|
||
list.add("002212024011515180610592868269035307008");
|
||
list.add("002212024011515290110592871015235940352");
|
||
list.add("002212024011515320610592871791191642112");
|
||
list.add("002212024011515414610592874224252805120");
|
||
list.add("002212024011516020610592879342415089664");
|
||
list.add("002212024011516044910592880028548698112");
|
||
list.add("002212024011516121610592881899766210560");
|
||
list.add("002212024011516154310592882771183112192");
|
||
list.add("002212024011516525110592892113500463104");
|
||
list.add("002212024011517145210592897654754828288");
|
||
list.add("002212024011517275510592900938590707712");
|
||
list.add("002212024011517310510592901734401175552");
|
||
list.add("002212024011517445410592905212429176832");
|
||
list.add("002212024011517473910592905905504505856");
|
||
list.add("002212024011517570510592908278610124800");
|
||
list.add("002212024011518312410592916913584685057");
|
||
list.add("002212024011519172010592928476413136896");
|
||
list.add("002212024011519274410592931093394677760");
|
||
list.add("002212024011519414910592934638361731072");
|
||
list.add("002212024011519495410592936671236050944");
|
||
list.add("002212024011519510410592936965911044096");
|
||
list.add("002212024011520041510592940280472330240");
|
||
list.add("002212024011520304710592946960069255168");
|
||
list.add("002212024011520325810592947508759683072");
|
||
list.add("002212024011520564810592953505934295040");
|
||
list.add("002212024011520565910592953552693207040");
|
||
list.add("002212024011521045510592955549802549248");
|
||
list.add("002212024011521060310592955832290897920");
|
||
list.add("002212024011521072310592956168497917952");
|
||
list.add("002212024011521084210592956500596740096");
|
||
list.add("002212024011521092810592956692363821056");
|
||
list.add("002212024011521202810592959461810888704");
|
||
list.add("002212024011521253110592960734453202944");
|
||
list.add("002212024011521291710592961682667659264");
|
||
list.add("002212024011521353910592963282781421568");
|
||
list.add("002212024011521362410592963472964558848");
|
||
list.add("002212024011521382010592963957907648512");
|
||
list.add("002212024011521410710592964661258874880");
|
||
list.add("002212024011521465610592966121411682304");
|
||
list.add("002212024011521470410592966154857119744");
|
||
list.add("002212024011521504810592967095050784768");
|
||
list.add("002212024011522003110592969543451893760");
|
||
list.add("002212024011522033010592970293552713728");
|
||
list.add("002212024011522043310592970556053348352");
|
||
list.add("002212024011522050410592970684901703680");
|
||
list.add("002212024011522101710592971998935748608");
|
||
list.add("002212024011522155810592973427780255744");
|
||
list.add("002212024011522245610592975684063911936");
|
||
list.add("002212024011522273010592976331465154560");
|
||
list.add("002212024011522285310592976681486213120");
|
||
list.add("002212024011522291310592976764427911168");
|
||
list.add("002212024011522304010592977129533034496");
|
||
list.add("002212024011522331310592977771086581760");
|
||
list.add("002212024011522340010592977967664025600");
|
||
list.add("002212024011522342810592978086055763968");
|
||
list.add("002212024011522361910592978551441182720");
|
||
list.add("002212024011522365210592978689521983488");
|
||
list.add("002212024011522453710592980891325943808");
|
||
list.add("002212024011522481510592981555500236800");
|
||
list.add("002212024011522530410592982766641205248");
|
||
list.add("002212024011522533910592982911070720000");
|
||
list.add("002212024011522555710592983490333732864");
|
||
list.add("002212024011522561410592983563747647488");
|
||
list.add("002212024011522585910592984255201665024");
|
||
list.add("002212024011522590710592984287380369408");
|
||
list.add("002212024011523103610592987176945446912");
|
||
list.add("002212024011523173910592988950542667776");
|
||
list.add("002212024011523215310592990018677407744");
|
||
list.add("002212024011523221310592990103296643072");
|
||
list.add("002212024011523222910592990169973817344");
|
||
list.add("002212024011523232710592990412975013888");
|
||
list.add("002212024011523251210592990853821206528");
|
||
list.add("002212024011523255310592991023392989184");
|
||
list.add("002212024011523271210592991356281122816");
|
||
list.add("002212024011523300010592992058659000320");
|
||
list.add("002212024011523302210592992151337861120");
|
||
list.add("002212024011523305410592992287277051904");
|
||
list.add("002212024011523374810592994023993729024");
|
||
list.add("002212024011523401710592994649829990400");
|
||
list.add("002212024011523424210592995255717163008");
|
||
list.add("002212024011523532410592997948104888320");
|
||
list.add("002212024011523564110592998775225683968");
|
||
list.add("002212024011600115410593002607041241088");
|
||
list.add("002212024011600130010593002882430885888");
|
||
list.add("002212024011600144410593003318407843840");
|
||
list.add("002212024011600161210593003685920456704");
|
||
list.add("002212024011600193610593004542370725888");
|
||
list.add("002212024011600210310593004906281914368");
|
||
list.add("002212024011600241210593005699241566208");
|
||
list.add("002212024011600270310593006415992549376");
|
||
list.add("002212024011600291010593006952222658560");
|
||
list.add("002212024011600330510593007934809673728");
|
||
list.add("002212024011600373910593009085608054784");
|
||
list.add("002212024011600380510593009196025151488");
|
||
list.add("002212024011600453210593011070207950848");
|
||
list.add("002212024011600460210593011195491049472");
|
||
list.add("002212024011600522610593012805678088192");
|
||
list.add("002212024011600561710593013774065500160");
|
||
list.add("002212024011600585110593014419602264064");
|
||
list.add("002212024011601053410593016111114706944");
|
||
list.add("002212024011601084810593016922740576256");
|
||
list.add("002212024011601092710593017088872763392");
|
||
list.add("002212024011601152410593018587286986752");
|
||
list.add("002212024011601214110593020165213511680");
|
||
list.add("002212024011601314110593022682425147392");
|
||
list.add("002212024011601335510593023246343241728");
|
||
list.add("002212024011601355210593023737779933184");
|
||
list.add("002212024011601380510593024294353534976");
|
||
list.add("002212024011601412410593025127746236416");
|
||
list.add("002212024011602000610593029833122070528");
|
||
list.add("002212024011602010910593030097098895360");
|
||
list.add("002212024011602140210593033339801362432");
|
||
list.add("002212024011602170610593034110779387904");
|
||
list.add("002212024011602210510593035113298882560");
|
||
list.add("002212024011602230510593035617321779200");
|
||
list.add("002212024011602263710593036509613293568");
|
||
list.add("002212024011602274510593036791986098176");
|
||
list.add("002212024011602275310593036827770703872");
|
||
list.add("002212024011602283410593036998731997184");
|
||
list.add("002212024011602312310593037705593913344");
|
||
list.add("002212024011602320810593037897498849280");
|
||
list.add("002212024011602382210593039464373764096");
|
||
list.add("002212024011603195010593049901604134912");
|
||
list.add("002212024011603224210593050623509110784");
|
||
list.add("002212024011604344410593068747914403840");
|
||
list.add("002212024011604354010593068985056190464");
|
||
list.add("002212024011604393610593069974371598336");
|
||
list.add("002212024011604532210593073437798514688");
|
||
list.add("002212024011605052510593076468944633856");
|
||
list.add("002212024011605052810593076482017030144");
|
||
list.add("002212024011605203810593080299090771968");
|
||
list.add("002212024011605283810593082313748996096");
|
||
list.add("002212024011606121010593093268832641024");
|
||
list.add("002212024011606203210593095374811619328");
|
||
list.add("002212024011606573510593104700065792000");
|
||
list.add("002212024011608443610593131629268860928");
|
||
list.add("002212024011609015510593135988112572416");
|
||
list.add("002212024011609061510593137079841644544");
|
||
list.add("002212024011609100610593138047730806784");
|
||
list.add("002212024011609175010593139992884277248");
|
||
list.add("002212024011609231810593141369400324096");
|
||
list.add("002212024011609430510593146348291977216");
|
||
list.add("002212024011609493210593147971278835712");
|
||
list.add("002212024011609510610593148367252615168");
|
||
list.add("002212024011609572810593149966624612352");
|
||
list.add("002212024011609580910593150138195017728");
|
||
list.add("002212024011610135610593154112074891264");
|
||
list.add("002212024011610351610593159480092614656");
|
||
list.add("002212024011610383110593160298393083904");
|
||
list.add("002212024011610463110593162313263079424");
|
||
list.add("002212024011610475610593162666988437504");
|
||
list.add("002212024011610481210593162733949771776");
|
||
list.add("002212024011611042810593166827217911808");
|
||
list.add("002212024011611054510593167150800076800");
|
||
list.add("002212024011611074310593167645848735744");
|
||
list.add("002212024011611260110593172251814739968");
|
||
list.add("002212024011611322410593173859355713536");
|
||
list.add("002212024011611431110593176573075476480");
|
||
list.add("002212024011611481210593177835658969088");
|
||
list.add("002212024011612012110593181143316406272");
|
||
list.add("002212024011612121410593183884712308736");
|
||
list.add("002212024011612132910593184195809280000");
|
||
list.add("002212024011612233810593186753314254848");
|
||
list.add("002212024011612324110593189031105392640");
|
||
list.add("002212024011612324710593189056258633728");
|
||
list.add("002212024011612353210593189748473982976");
|
||
list.add("002212024011612382910593190488204804096");
|
||
list.add("002212024011612390410593190635951837184");
|
||
list.add("002212024011612393810593190777552191488");
|
||
list.add("002212024011612412210593191216524664832");
|
||
list.add("002212024011612453910593192292149551104");
|
||
list.add("002212024011612464810593192583921483776");
|
||
list.add("002212024011612493610593193286453288960");
|
||
list.add("002212024011612493710593193292120944640");
|
||
list.add("002212024011612495210593193351802740736");
|
||
list.add("002212024011612525410593194115249291264");
|
||
list.add("002212024011612531510593194206778085376");
|
||
list.add("002212024011612573710593195304829403136");
|
||
list.add("002212024011612580610593195425175040000");
|
||
list.add("002212024011613021810593196483414712320");
|
||
list.add("002212024011613065910593197663167574016");
|
||
list.add("002212024011613131910593199256325144576");
|
||
list.add("002212024011613142310593199521758347264");
|
||
list.add("002212024011613172610593200291354411008");
|
||
list.add("002212024011613271310593202753838440448");
|
||
list.add("002212024011613301210593203504656785408");
|
||
list.add("002212024011613380310593205478042071040");
|
||
list.add("002212024011613384710593205662642970624");
|
||
list.add("002212024011613402310593206067101556736");
|
||
list.add("002212024011613423610593206622404403200");
|
||
list.add("002212024011613440810593207011063226368");
|
||
list.add("002212024011613442810593207093809987584");
|
||
list.add("002212024011613455410593207456871604224");
|
||
list.add("002212024011613480710593208014166982656");
|
||
list.add("002212024011613481110593208029388054528");
|
||
list.add("002212024011613511410593208796067885056");
|
||
list.add("002212024011613521510593209051992657920");
|
||
list.add("002212024011613564410593210182951100416");
|
||
list.add("002212024011613585510593210730075086848");
|
||
list.add("002212024011614062010593212597798862848");
|
||
list.add("002212024011614074410593212947702083584");
|
||
list.add("002212024011614083510593213162347782144");
|
||
list.add("002212024011614111810593213848178085888");
|
||
list.add("002212024011614130410593214293391523840");
|
||
list.add("002212024011614193610593215936546422784");
|
||
list.add("002212024011614291010593218344507572224");
|
||
list.add("002212024011614341210593219611639517184");
|
||
list.add("002212024011614395010593221027504537600");
|
||
list.add("002212024011614404310593221247959289856");
|
||
list.add("002212024011614450910593222367578349568");
|
||
list.add("002212024011614510110593223842507472896");
|
||
list.add("002212024011614521810593224166133833728");
|
||
list.add("002212024011614551810593224918579445760");
|
||
list.add("002212024011614572210593225439505498112");
|
||
list.add("002212024011615025510593226835568988160");
|
||
list.add("002212024011615123210593229256316059648");
|
||
list.add("002212024011615125210593229340743000064");
|
||
list.add("002212024011615134210593229552252317696");
|
||
list.add("002212024011615182110593230721168105472");
|
||
list.add("002212024011615193710593231040140644352");
|
||
list.add("002212024011615270710593232926617214976");
|
||
return list;
|
||
}
|
||
|
||
public List<String> getPaymentIdList2() {
|
||
List<String> list = Lists.newArrayList();
|
||
list.add("002212024011615365310593235385330802688");
|
||
list.add("002212024011615380110593235669026992128");
|
||
list.add("002212024011615392010593236000660246528");
|
||
list.add("002212024011615454410593237613261201408");
|
||
list.add("002212024011615461910593237758917378048");
|
||
list.add("002212024011615511010593238979106672640");
|
||
list.add("002212024011616103710593243876091658240");
|
||
list.add("002212024011616173710593245634813075456");
|
||
list.add("002212024011616234110593247160828641280");
|
||
list.add("002212024011616502610593253894231126016");
|
||
list.add("002212024011616553810593255201018060800");
|
||
list.add("002212024011617070310593258077714747392");
|
||
list.add("002212024011617153510593260222709100544");
|
||
list.add("002212024011617163310593260466161426432");
|
||
list.add("002212024011617272610593263205549449216");
|
||
list.add("002212024011617485410593268607056834560");
|
||
list.add("002212024011618153110593275307057864704");
|
||
list.add("002212024011618245910593277688587870208");
|
||
list.add("002212024011618374310593280894615347200");
|
||
list.add("002212024011618432410593282321758674944");
|
||
list.add("002212024011618510110593284240340344832");
|
||
list.add("002212024011619131510593289833453117440");
|
||
list.add("002212024011619135510593290002284277760");
|
||
list.add("002212024011619185810593291274750103552");
|
||
list.add("002212024011619212010593291870448336896");
|
||
list.add("002212024011619314610593294495141056512");
|
||
list.add("002212024011619343510593295203466698752");
|
||
list.add("002212024011619353210593295441294123008");
|
||
list.add("002212024011619431010593297365958295552");
|
||
list.add("002212024011620073510593303510589763584");
|
||
list.add("002212024011620144310593305303900332032");
|
||
list.add("002212024011620174010593306047944577024");
|
||
list.add("002212024011620223910593307299012112384");
|
||
list.add("002212024011620413810593312078158471168");
|
||
list.add("002212024011620571610593316013304004608");
|
||
list.add("002212024011621002010593316782879727616");
|
||
list.add("002212024011621024310593317385250922496");
|
||
list.add("002212024011621071810593318538827132928");
|
||
list.add("002212024011621082110593318803083788288");
|
||
list.add("002212024011621165610593320961563508736");
|
||
list.add("002212024011621175310593321198458490880");
|
||
list.add("002212024011621232210593322578126434304");
|
||
list.add("002212024011621311610593324570004324352");
|
||
list.add("002212024011621395910593326763490574336");
|
||
list.add("002212024011621443510593327918471548928");
|
||
list.add("002212024011621552110593330627843055616");
|
||
list.add("002212024011621560510593330813920309248");
|
||
list.add("002212024011622040810593332841154187264");
|
||
list.add("002212024011622071510593333624439263232");
|
||
list.add("002212024011622082810593333928316858368");
|
||
list.add("002212024011622150610593335598786506752");
|
||
list.add("002212024011622224610593337527873126400");
|
||
list.add("002212024011622253310593338227513057280");
|
||
list.add("002212024011622263910593338506290622464");
|
||
list.add("002212024011622270410593338610022998016");
|
||
list.add("002212024011622285510593339075952332800");
|
||
list.add("002212024011622285810593339088452673536");
|
||
list.add("002212024011622290910593339135058464768");
|
||
list.add("002212024011622304310593339530765004800");
|
||
list.add("002212024011622312810593339716461821952");
|
||
list.add("002212024011622320410593339869604044800");
|
||
list.add("002212024011622321210593339904003534848");
|
||
list.add("002212024011622324510593340040060559360");
|
||
list.add("002212024011622330010593340103796539392");
|
||
list.add("002212024011622331510593340165153570816");
|
||
list.add("002212024011622343410593340499215212544");
|
||
list.add("002212024011622433510593342768310513664");
|
||
list.add("002212024011622444010593343041789681664");
|
||
list.add("002212024011622482910593344001846927360");
|
||
list.add("002212024011622484410593344062108717056");
|
||
list.add("002212024011623050910593348194022621184");
|
||
list.add("002212024011623065510593348637968523264");
|
||
list.add("002212024011623071510593348724597678080");
|
||
list.add("002212024011623071610593348725813993472");
|
||
list.add("002212024011623084510593349100718424064");
|
||
list.add("002212024011623091410593349223388504064");
|
||
list.add("002212024011623093310593349300375683072");
|
||
list.add("002212024011623114710593349865246920704");
|
||
list.add("002212024011623123010593350044661272576");
|
||
list.add("002212024011623135710593350407776215040");
|
||
list.add("002212024011623144110593350595309596672");
|
||
list.add("002212024011623205010593352141187440640");
|
||
list.add("002212024011623275610593353926734209024");
|
||
list.add("002212024011623275810593353934967656448");
|
||
list.add("002212024011623295610593354433582292992");
|
||
list.add("002212024011623331210593355254704717824");
|
||
list.add("002212024011623344310593355637188362240");
|
||
list.add("002212024011623430710593357747724910592");
|
||
list.add("002212024011623433410593357861632425984");
|
||
list.add("002212024011623481610593359045362114560");
|
||
list.add("002212024011623482410593359078694162432");
|
||
list.add("002212024011623542110593360576536768512");
|
||
list.add("002212024011623585410593361723085660160");
|
||
list.add("002212024011700175910593366524869427200");
|
||
list.add("002212024011700181110593366573433331712");
|
||
list.add("002212024011700210210593367290154536960");
|
||
list.add("002212024011700240510593368057015033856");
|
||
list.add("002212024011700263110593368671491883008");
|
||
list.add("002212024011700264610593368735898222592");
|
||
list.add("002212024011700302810593369665316708352");
|
||
list.add("002212024011700302910593369671468482560");
|
||
list.add("002212024011700380110593371564128550912");
|
||
list.add("002212024011700384710593371757412720640");
|
||
list.add("002212024011700385710593371799376551936");
|
||
list.add("002212024011700411410593372373253722112");
|
||
list.add("002212024011700443210593373204681019392");
|
||
list.add("002212024011700461210593373624968519680");
|
||
list.add("002212024011700462910593373695515901952");
|
||
list.add("002212024011700533510593375482109595648");
|
||
list.add("002212024011700540410593375604933517312");
|
||
list.add("002212024011700583210593376727524605952");
|
||
list.add("002212024011700584710593376791915384832");
|
||
list.add("002212024011701023010593377728432164864");
|
||
list.add("002212024011701061510593378671169798144");
|
||
list.add("002212024011701074410593379042352357376");
|
||
list.add("002212024011701095610593379598377644032");
|
||
list.add("002212024011701184410593381811004071936");
|
||
list.add("002212024011701214810593382583925174272");
|
||
list.add("002212024011701275310593384115057098752");
|
||
list.add("002212024011701430710593387948196720640");
|
||
list.add("002212024011701435710593388158968885248");
|
||
list.add("002212024011701540210593390695863238656");
|
||
list.add("002212024011701544010593390854354464768");
|
||
list.add("002212024011701563810593391351699267584");
|
||
list.add("002212024011702065510593393939282878464");
|
||
list.add("002212024011702151310593396024707633152");
|
||
list.add("002212024011702172410593396576831885312");
|
||
list.add("002212024011702230910593398022708346880");
|
||
list.add("002212024011702273610593399142264553472");
|
||
list.add("002212024011702350410593401020833234944");
|
||
list.add("002212024011702382710593401873186381824");
|
||
list.add("002212024011702440510593403290414346240");
|
||
list.add("002212024011702441210593403322422607872");
|
||
list.add("002212024011702461110593403817618264064");
|
||
list.add("002212024011702483310593404413403652096");
|
||
list.add("002212024011702522810593405401812275200");
|
||
list.add("002212024011703173810593411736063606784");
|
||
list.add("002212024011703212810593412699813302272");
|
||
list.add("002212024011703593010593422269733097472");
|
||
list.add("002212024011704022010593422984921964544");
|
||
list.add("002212024011704054910593423858925793280");
|
||
list.add("002212024011704061410593423965042728960");
|
||
list.add("002212024011704221310593427986766581760");
|
||
list.add("002212024011704243910593428601312460800");
|
||
list.add("002212024011704343210593431087891562496");
|
||
list.add("002212024011704441210593433520656433152");
|
||
list.add("002212024011704443010593433595982630912");
|
||
list.add("002212024011704443110593433597633052672");
|
||
list.add("002212024011704444410593433655028699136");
|
||
list.add("002212024011705295110593445006611136512");
|
||
list.add("002212024011705321110593445593411854336");
|
||
list.add("002212024011705413210593447949191835648");
|
||
list.add("002212024011705511710593450403183828992");
|
||
list.add("002212024011705583710593452248887037952");
|
||
list.add("002212024011705591910593452423882113024");
|
||
list.add("002212024011707020710593468227069362176");
|
||
list.add("002212024011707315310593475718769500160");
|
||
list.add("002212024011708232510593488687142379520");
|
||
list.add("002212024011709000810593497927286366208");
|
||
list.add("002212024011709111810593500739338452992");
|
||
list.add("002212024011709395210593507926465011712");
|
||
list.add("002212024011709502710593510588359802880");
|
||
list.add("002212024011710055910593514499335643136");
|
||
list.add("002212024011710232410593518883119669248");
|
||
list.add("002212024011711061010593529645572898816");
|
||
list.add("002212024011711142210593531707262926848");
|
||
list.add("002212024011711311110593535940287221760");
|
||
list.add("002212024011711405010593538368898289664");
|
||
list.add("002212024011711422610593538770751643648");
|
||
list.add("002212024011711540710593541713538277376");
|
||
list.add("002212024011711542110593541770537824256");
|
||
list.add("002212024011711572410593542539683950592");
|
||
list.add("002212024011711585110593542903657263104");
|
||
list.add("002212024011712044910593544406021279744");
|
||
list.add("002212024011712170710593547500723494912");
|
||
list.add("002212024011712222810593548844093489152");
|
||
list.add("002212024011712235410593549206129696768");
|
||
list.add("002212024011712255710593549722197065728");
|
||
list.add("002212024011712334010593551666395906048");
|
||
list.add("002212024011712353810593552158374453248");
|
||
list.add("002212024011712354210593552176231608320");
|
||
list.add("002212024011712365110593552464712519680");
|
||
list.add("002212024011712420510593553781069934592");
|
||
list.add("002212024011712422510593553864935968769");
|
||
list.add("002212024011712450310593554529421848576");
|
||
list.add("002212024011712472310593555117483180032");
|
||
list.add("002212024011712524110593556449275363328");
|
||
list.add("002212024011712583910593557953459740672");
|
||
list.add("002212024011713021410593558855115554816");
|
||
list.add("002212024011713095910593560806030938112");
|
||
list.add("002212024011713164110593562491182772224");
|
||
list.add("002212024011713212510593563681066401792");
|
||
list.add("002212024011713215410593563801515040768");
|
||
list.add("002212024011713265810593565078138351616");
|
||
list.add("002212024011713294310593565771921219584");
|
||
list.add("002212024011713371110593567648756895744");
|
||
list.add("002212024011713384910593568059385573376");
|
||
list.add("002212024011713413910593568771329073152");
|
||
list.add("002212024011713434210593569287966543872");
|
||
list.add("002212024011713472710593570232295178240");
|
||
list.add("002212024011713474810593570320782319616");
|
||
list.add("002212024011713533110593571760980574208");
|
||
list.add("002212024011713551610593572200436715520");
|
||
list.add("002212024011713584810593573089255178240");
|
||
list.add("002212024011713590910593573176971288576");
|
||
list.add("002212024011714025510593574126175870976");
|
||
list.add("002212024011714033710593574299231809536");
|
||
list.add("002212024011714054310593574830114181120");
|
||
list.add("002212024011714080610593575427814158336");
|
||
list.add("002212024011714113210593576295574724608");
|
||
list.add("002212024011714152910593577287392391168");
|
||
list.add("002212024011714270510593580205370609664");
|
||
list.add("002212024011714305610593581177595707392");
|
||
list.add("002212024011714371110593582749963419648");
|
||
list.add("002212024011714403410593583599367999488");
|
||
list.add("002212024011714432410593584311304818688");
|
||
list.add("002212024011714441510593584527172136960");
|
||
list.add("002212024011714473510593585365222285312");
|
||
list.add("002212024011714521610593586544091295744");
|
||
list.add("002212024011714522210593586571045142528");
|
||
list.add("002212024011714545510593587212372799488");
|
||
list.add("002212024011714564310593587665173078016");
|
||
list.add("002212024011715010410593588757674053632");
|
||
list.add("002212024011715041110593589542658990080");
|
||
list.add("002212024011715062810593590116092379136");
|
||
list.add("002212024011715071410593590312250859520");
|
||
list.add("002212024011715084010593590671781740544");
|
||
list.add("002212024011715094910593590961202110464");
|
||
list.add("002212024011715371210593597853013741568");
|
||
list.add("002212024011715383210593598188811841536");
|
||
list.add("002212024011715541510593602141253459968");
|
||
list.add("002212024011716020610593604116498776064");
|
||
list.add("002212024011716204310593608803132981248");
|
||
list.add("002212024011716440410593614679598817280");
|
||
list.add("002212024011716444210593614840446185472");
|
||
list.add("002212024011716552210593617522840731648");
|
||
list.add("002212024011717075210593620667934810112");
|
||
list.add("002212024011717154710593622659759267840");
|
||
list.add("002212024011717264010593625402010718208");
|
||
list.add("002212024011717375210593628219808374784");
|
||
list.add("002212024011717504110593631443353501696");
|
||
list.add("002212024011718151410593637621541998592");
|
||
list.add("002212024011718454710593645311228223488");
|
||
list.add("002212024011718460610593645388841476096");
|
||
list.add("002212024011718470210593645624116764672");
|
||
list.add("002212024011718471010593645660954066944");
|
||
list.add("002212024011718482010593645952904151040");
|
||
list.add("002212024011718483110593645997619539968");
|
||
list.add("002212024011718541210593647428205887488");
|
||
list.add("002212024011718564510593648069926674432");
|
||
list.add("002212024011719124510593652097805033472");
|
||
list.add("002212024011719380210593658459519672320");
|
||
list.add("002212024011719460210593660473454575616");
|
||
list.add("002212024011719463110593660596391936000");
|
||
list.add("002212024011719540010593662477217263616");
|
||
list.add("002212024011720032210593664835302035456");
|
||
list.add("002212024011720310810593671822742077440");
|
||
list.add("002212024011720311710593671860465561600");
|
||
list.add("002212024011720381110593673596362244096");
|
||
list.add("002212024011720391610593673871757492224");
|
||
list.add("002212024011720401210593674103300661248");
|
||
list.add("002212024011720423610593674707406118912");
|
||
list.add("002212024011720482410593676166495633408");
|
||
list.add("002212024011720484110593676239719555072");
|
||
list.add("002212024011720535710593677566937874432");
|
||
list.add("002212024011721023610593679740696776704");
|
||
list.add("002212024011721061910593680676966064128");
|
||
list.add("002212024011721125410593682333178609664");
|
||
list.add("002212024011721140510593682631276814336");
|
||
list.add("002212024011721233210593685008742539264");
|
||
list.add("002212024011721241510593685188313190400");
|
||
list.add("002212024011721250010593685378108444672");
|
||
list.add("002212024011721283710593686290649702400");
|
||
list.add("002212024011721374610593688591871369216");
|
||
list.add("002212024011721382410593688751454396416");
|
||
list.add("002212024011721441810593690236254609408");
|
||
list.add("002212024011721444410593690345243631616");
|
||
list.add("002212024011721465110593690878527098880");
|
||
list.add("002212024011721472310593691010783207424");
|
||
list.add("002212024011721511610593691987791679488");
|
||
list.add("002212024011721512310593692019903594496");
|
||
list.add("002212024011721520810593692208468803584");
|
||
list.add("002212024011721521410593692230734303232");
|
||
list.add("002212024011721575910593693681116237824");
|
||
list.add("002212024011721592510593694041453060096");
|
||
list.add("002212024011722013910593694602812321792");
|
||
list.add("002212024011722044210593695371415482368");
|
||
list.add("002212024011722073010593696073324793856");
|
||
list.add("002212024011722123510593697352942043136");
|
||
list.add("002212024011722134210593697635540303872");
|
||
list.add("002212024011722140810593697744725843968");
|
||
list.add("002212024011722172410593698564787773440");
|
||
list.add("002212024011722264310593700911782461440");
|
||
list.add("002212024011722274110593701155465936896");
|
||
list.add("002212024011722315610593702221312552960");
|
||
list.add("002212024011722322710593702354141966336");
|
||
list.add("002212024011722324810593702442992066560");
|
||
list.add("002212024011722331810593702566995652608");
|
||
list.add("002212024011722333010593702616544157696");
|
||
list.add("002212024011722375810593703741200371712");
|
||
list.add("002212024011722383410593703890943426560");
|
||
list.add("002212024011722460110593705769201029120");
|
||
list.add("002212024011722462510593705870271873024");
|
||
list.add("002212024011722505010593706980658806784");
|
||
list.add("002212024011722530110593707529990791168");
|
||
list.add("002212024011722551110593708073484656640");
|
||
list.add("002212024011722562110593708367458418688");
|
||
list.add("002212024011722564010593708448673419264");
|
||
list.add("002212024011722573410593708676013056000");
|
||
list.add("002212024011723053310593710683246522368");
|
||
list.add("002212024011723082310593711395170906112");
|
||
list.add("002212024011723103410593711944250290176");
|
||
list.add("002212024011723145710593713047638601728");
|
||
list.add("002212024011723170210593713574436044800");
|
||
list.add("002212024011723192310593714165983666176");
|
||
list.add("002212024011723234910593715280959062016");
|
||
list.add("002212024011723304610593717030322126848");
|
||
list.add("002212024011723315610593717323256426496");
|
||
list.add("002212024011723371610593718665880375296");
|
||
list.add("002212024011723422810593719971687919616");
|
||
list.add("002212024011723472810593721230007418880");
|
||
list.add("002212024011723491110593721665415364608");
|
||
list.add("002212024011723513110593722249796026368");
|
||
list.add("002212024011723540010593722874933755904");
|
||
list.add("002212024011723575310593723853991419904");
|
||
list.add("002212024011800002010593724471025721344");
|
||
list.add("002212024011800013810593724796345479168");
|
||
list.add("002212024011800022610593724999719936000");
|
||
list.add("002212024011800040410593725408224903168");
|
||
list.add("002212024011800063410593726039710924800");
|
||
list.add("002212024011800091810593726727139725312");
|
||
list.add("002212024011800153110593728289398538240");
|
||
list.add("002212024011800235110593730389822885888");
|
||
list.add("002212024011800250810593730712036831232");
|
||
list.add("002212024011800252010593730759573217280");
|
||
list.add("002212024011800314610593732382025281536");
|
||
list.add("002212024011800332610593732798266949632");
|
||
list.add("002212024011800332810593732807010713600");
|
||
list.add("002212024011800340410593732960127451136");
|
||
list.add("002212024011800413210593734840022716416");
|
||
list.add("002212024011800461810593736038448467968");
|
||
list.add("002212024011801024710593740187343736832");
|
||
list.add("002212024011801031510593740304022228992");
|
||
list.add("002212024011801041910593740570547056640");
|
||
list.add("002212024011801074010593741415797940224");
|
||
list.add("002212024011801184010593744184066928640");
|
||
list.add("002212024011801211910593744849850699776");
|
||
list.add("002212024011801213210593744903927316480");
|
||
list.add("002212024011801214610593744961879633920");
|
||
list.add("002212024011801235810593745515403005952");
|
||
list.add("002212024011801243810593745682961432576");
|
||
list.add("002212024011801300710593747063474327552");
|
||
list.add("002212024011801341010593748083889917952");
|
||
list.add("002212024011801463810593751222373662720");
|
||
list.add("002212024011801464710593751260462137344");
|
||
list.add("002212024011801491410593751874002124800");
|
||
list.add("002212024011801493110593751946625105920");
|
||
list.add("002212024011801500410593752085333405696");
|
||
list.add("002212024011801570510593753852769165312");
|
||
list.add("002212024011801585810593754325340352512");
|
||
list.add("002212024011802022210593755178740383744");
|
||
list.add("002212024011802024110593755259497512960");
|
||
list.add("002212024011802111310593757408108036096");
|
||
list.add("002212024011802121010593757648668811264");
|
||
list.add("002212024011802192110593759455846289408");
|
||
list.add("002212024011802265110593761343400800256");
|
||
list.add("002212024011802324010593762807570604032");
|
||
list.add("002212024011802363310593763783658303488");
|
||
list.add("002212024011802394510593764588933337088");
|
||
list.add("002212024011802405410593764878606614528");
|
||
list.add("002212024011802500710593767196094853120");
|
||
list.add("002212024011802581210593769231117819904");
|
||
list.add("002212024011802591610593769501092405248");
|
||
list.add("002212024011803084410593771882662195200");
|
||
list.add("002212024011803135010593773164179476480");
|
||
list.add("002212024011803180610593774241232576512");
|
||
list.add("002212024011803311410593777545769508864");
|
||
list.add("002212024011803374410593779179247620096");
|
||
list.add("002212024011803483110593781892331028480");
|
||
list.add("002212024011803515710593782759680331776");
|
||
list.add("002212024011803520210593782777163653120");
|
||
list.add("002212024011803535010593783233344397312");
|
||
list.add("002212024011804005010593784994356514816");
|
||
list.add("002212024011804062510593786397531734016");
|
||
list.add("002212024011804064010593786462299971584");
|
||
list.add("002212024011804090410593787067563204608");
|
||
list.add("002212024011804170410593789080095268864");
|
||
list.add("002212024011804225410593790547492302848");
|
||
list.add("002212024011804351210593793641145597952");
|
||
list.add("002212024011804421510593795417308786688");
|
||
list.add("002212024011805002110593799971293204480");
|
||
list.add("002212024011805082210593801988183326720");
|
||
list.add("002212024011805192210593804758351036416");
|
||
list.add("002212024011805301910593807511993556992");
|
||
list.add("002212024011805355810593808934209548288");
|
||
list.add("002212024011805505310593812687309365248");
|
||
list.add("002212024011806050210593816251487449088");
|
||
list.add("002212024011806092110593817334776553472");
|
||
list.add("002212024011806132110593818341526982656");
|
||
list.add("002212024011807274510593837065382236160");
|
||
list.add("002212024011807461210593841707129847808");
|
||
list.add("002212024011808192010593850047938908160");
|
||
list.add("002212024011808462010593856842229313536");
|
||
list.add("002212024011809031310593861090255151104");
|
||
list.add("002212024011809264310593867005665439744");
|
||
list.add("002212024011809434910593871306756800512");
|
||
list.add("002212024011809511210593873165861740544");
|
||
list.add("002212024011810010210593875640436871168");
|
||
list.add("002212024011810061310593876946594811904");
|
||
list.add("002212024011810131810593878728431558656");
|
||
list.add("002212024011810180810593879945474691072");
|
||
list.add("002212024011810185110593880124014972928");
|
||
list.add("002212024011810425410593886178581577728");
|
||
list.add("002212024011810514610593888410047012864");
|
||
list.add("002212024011811043710593891643089874944");
|
||
list.add("002212024011811060210593891997695303680");
|
||
list.add("002212024011811124910593893706374942720");
|
||
list.add("002212024011811230510593896291152531456");
|
||
list.add("002212024011811392010593900380657917952");
|
||
list.add("002212024011811460510593902076316303360");
|
||
list.add("002212024011811464510593902243628150784");
|
||
list.add("002212024011811551810593904398732849152");
|
||
list.add("002212024011811580110593905081582047232");
|
||
list.add("002212024011812023010593906210490675200");
|
||
list.add("002212024011812041710593906656303333376");
|
||
list.add("002212024011812073110593907471216730112");
|
||
list.add("002212024011812125110593908812649459712");
|
||
list.add("002212024011812165010593909817040863232");
|
||
list.add("002212024011812172710593909970152411136");
|
||
list.add("002212024011812213810593911024356286464");
|
||
list.add("002212024011812244110593911792161386496");
|
||
list.add("002212024011812340310593914148148076544");
|
||
list.add("002212024011812344710593914334301900800");
|
||
list.add("002212024011812372010593914976991084544");
|
||
list.add("002212024011812382810593915259357622272");
|
||
list.add("002212024011812415110593916111801651200");
|
||
list.add("002212024011812500210593918172630978560");
|
||
list.add("002212024011812514510593918602975281152");
|
||
list.add("002212024011812531310593918972736409600");
|
||
list.add("002212024011812544410593919353559089152");
|
||
list.add("002212024011813033610593921585548992512");
|
||
list.add("002212024011813074110593922614736580608");
|
||
list.add("002212024011813120910593923739093143552");
|
||
list.add("002212024011813161210593924755838025728");
|
||
list.add("002212024011813170410593924975112044544");
|
||
list.add("002212024011813192110593925549549895680");
|
||
list.add("002212024011813205710593925950915428352");
|
||
list.add("002212024011813212310593926062645403648");
|
||
list.add("002212024011813272210593927568627236864");
|
||
list.add("002212024011813301410593928287189954560");
|
||
list.add("002212024011813413010593931122158821376");
|
||
list.add("002212024011813491110593933057267036160");
|
||
list.add("002212024011813522710593933880319885312");
|
||
list.add("002212024011813572510593935130413887488");
|
||
list.add("002212024011814034510593936722574024704");
|
||
list.add("002212024011814040410593936800485163008");
|
||
list.add("002212024011814061810593937363274784768");
|
||
list.add("002212024011814092010593938126738776064");
|
||
list.add("002212024011814155010593939762295005184");
|
||
list.add("002212024011814205910593941060662779904");
|
||
list.add("002212024011814215610593941297137819648");
|
||
list.add("002212024011814263010593942448595091456");
|
||
list.add("002212024011814281110593942870014136320");
|
||
list.add("002212024011814283310593942964373659649");
|
||
list.add("002212024011814385810593945583796080640");
|
||
list.add("002212024011814465310593947578456068096");
|
||
list.add("002212024011814500410593948380281102336");
|
||
list.add("002212024011814513810593948773497016320");
|
||
list.add("002212024011814575610593950360144347136");
|
||
list.add("002212024011814594610593950821693186048");
|
||
list.add("002212024011815034510593951823833415680");
|
||
list.add("002212024011815052210593952231080054784");
|
||
list.add("002212024011815081910593952969443106816");
|
||
list.add("002212024011815091010593953187293286400");
|
||
list.add("002212024011815122810593954015541805056");
|
||
list.add("002212024011815181110593955455646253056");
|
||
list.add("002212024011815215310593956383654862848");
|
||
list.add("002212024011815272110593957763065040896");
|
||
list.add("002212024011815324210593959105663721472");
|
||
list.add("002212024011815330310593959197037785088");
|
||
list.add("002212024011815352210593959780432961536");
|
||
list.add("002212024011815364110593960111195803648");
|
||
list.add("002212024011815390910593960732317552640");
|
||
list.add("002212024011815400510593960967136509952");
|
||
list.add("002212024011815424710593961644906151936");
|
||
list.add("002212024011815491810593963286221717504");
|
||
list.add("002212024011815513110593963841295384576");
|
||
list.add("002212024011815584510593965662549012480");
|
||
list.add("002212024011816045510593967214123737088");
|
||
list.add("002212024011816172110593970344972468224");
|
||
list.add("002212024011816175910593970503139672064");
|
||
list.add("002212024011816222810593971631157923840");
|
||
list.add("002212024011816225510593971746023833600");
|
||
list.add("002212024011816263710593972677997420544");
|
||
list.add("002212024011816295110593973488484515840");
|
||
list.add("002212024011816442010593977135091580928");
|
||
list.add("002212024011816472710593977920196661248");
|
||
list.add("002212024011816482310593978155204976640");
|
||
list.add("002212024011817554610593995113339936768");
|
||
list.add("002212024011818023710593996836990697472");
|
||
list.add("002212024011818053010593997560181645312");
|
||
list.add("002212024011818074710593998136265105408");
|
||
list.add("002212024011818110810593998978362593280");
|
||
list.add("002212024011818312810594004094412378112");
|
||
list.add("002212024011819271410594018131171508224");
|
||
list.add("002212024011819484610594023549290799104");
|
||
list.add("002212024011819562510594025475729162240");
|
||
list.add("002212024011820094710594028839542419456");
|
||
list.add("002212024011820103510594029038829518848");
|
||
list.add("002212024011820175910594030901498863616");
|
||
list.add("002212024011820410610594036721102020608");
|
||
list.add("002212024011820500610594038982020681728");
|
||
list.add("002212024011820540110594039968546086912");
|
||
list.add("002212024011820545510594040196665925632");
|
||
list.add("002212024011820565710594040706863943680");
|
||
list.add("002212024011821013210594041860753932288");
|
||
list.add("002212024011821075610594043472673349632");
|
||
list.add("002212024011821094910594043944026890240");
|
||
list.add("002212024011821094910594043944733876224");
|
||
list.add("002212024011821101710594044063445143552");
|
||
list.add("002212024011821124110594044666040651776");
|
||
list.add("002212024011821153510594045398143918080");
|
||
list.add("002212024011821240810594047550079754240");
|
||
list.add("002212024011821265610594048254686609408");
|
||
list.add("002212024011821272010594048355727937536");
|
||
list.add("002212024011821313710594049431315374080");
|
||
list.add("002212024011821382910594051158181662720");
|
||
list.add("002212024011821393710594051447033917440");
|
||
list.add("002212024011821433610594052448611590144");
|
||
list.add("002212024011821451810594052877305090048");
|
||
list.add("002212024011821465110594053266765991936");
|
||
list.add("002212024011821491910594053885701779456");
|
||
list.add("002212024011821503010594054184610381824");
|
||
list.add("002212024011821503510594054207130230784");
|
||
list.add("002212024011821551010594055358099701760");
|
||
list.add("002212024011821591910594056402397511680");
|
||
list.add("002212024011822001210594056626136522752");
|
||
list.add("002212024011822020210594057086712233984");
|
||
list.add("002212024011822051210594057884426260480");
|
||
list.add("002212024011822065010594058295386210304");
|
||
list.add("002212024011822100910594059128789372928");
|
||
list.add("002212024011822124610594059786206699520");
|
||
list.add("002212024011822150710594060377694568448");
|
||
list.add("002212024011822182810594061223110541312");
|
||
list.add("002212024011822220510594062132408963072");
|
||
list.add("002212024011822240410594062632589418496");
|
||
list.add("002212024011822263910594063279899504640");
|
||
list.add("002212024011822274810594063572667162624");
|
||
list.add("002212024011822300710594064152781230080");
|
||
list.add("002212024011822302010594064209855246336");
|
||
list.add("002212024011822370510594065906333859840");
|
||
list.add("002212024011822390210594066399154102272");
|
||
list.add("002212024011822473110594068532574978048");
|
||
list.add("002212024011822520810594069694227640320");
|
||
list.add("002212024011822523910594069826009522176");
|
||
list.add("002212024011822542710594070277199220736");
|
||
list.add("002212024011822550210594070426273026048");
|
||
list.add("002212024011823000410594071691464003584");
|
||
list.add("002212024011823051610594072999452819456");
|
||
list.add("002212024011823060210594073191685779456");
|
||
list.add("002212024011823062910594073306797301760");
|
||
list.add("002212024011823095710594074177688207360");
|
||
list.add("002212024011823145410594075423680458752");
|
||
list.add("002212024011823172010594076037120163840");
|
||
list.add("002212024011823190410594076473460604928");
|
||
list.add("002212024011823233010594077590389645312");
|
||
list.add("002212024011823240110594077718532751360");
|
||
list.add("002212024011823274210594078645081030656");
|
||
list.add("002212024011823304710594079420547178496");
|
||
list.add("002212024011823370610594081010118942720");
|
||
list.add("002212024011823372610594081094403481600");
|
||
list.add("002212024011823394410594081671691587584");
|
||
list.add("002212024011823404610594081932943544320");
|
||
list.add("002212024011823445510594082977375690752");
|
||
list.add("002212024011823491410594084063629123584");
|
||
list.add("002212024011823511010594084549095227392");
|
||
list.add("002212024011823530910594085050543849472");
|
||
list.add("002212024011823534310594085194373480448");
|
||
list.add("002212024011823564610594085961676320768");
|
||
list.add("002212024011823584810594086470743191552");
|
||
list.add("002212024011823590510594086543350788096");
|
||
list.add("002212024011900002410594086873045303296");
|
||
list.add("002212024011900010410594087042119581696");
|
||
list.add("002212024011900073910594088697833578496");
|
||
list.add("002212024011900201210594091858799484928");
|
||
list.add("002212024011900231410594092620026060800");
|
||
list.add("002212024011900315710594094814640922624");
|
||
list.add("002212024011900315710594094815880364032");
|
||
list.add("002212024011900324210594095003606962176");
|
||
list.add("002212024011900340310594095343366529024");
|
||
list.add("002212024011900363410594095976519692288");
|
||
list.add("002212024011900402710594096955029839872");
|
||
list.add("002212024011900435010594097803103674368");
|
||
list.add("002212024011900485810594099095799558144");
|
||
list.add("002212024011900514110594099781843939328");
|
||
list.add("002212024011900530110594100114232344576");
|
||
list.add("002212024011900543010594100487395901440");
|
||
list.add("002212024011900584110594101540131921920");
|
||
list.add("002212024011901033410594102772636688384");
|
||
list.add("002212024011901091010594104182329679872");
|
||
list.add("002212024011901111110594104688021987328");
|
||
list.add("002212024011901191710594106725900087296");
|
||
list.add("002212024011901243110594108041993867264");
|
||
list.add("002212024011901283010594109046723895296");
|
||
list.add("002212024011901321710594109997312479232");
|
||
list.add("002212024011901335310594110401423294464");
|
||
list.add("002212024011901355210594110901516427264");
|
||
list.add("002212024011901410510594112210412666880");
|
||
list.add("002212024011901433310594112835107528704");
|
||
list.add("002212024011901481910594114032424939520");
|
||
list.add("002212024011901513610594114859463770112");
|
||
list.add("002212024011901541110594115507438960640");
|
||
list.add("002212024011901575010594116427459543040");
|
||
list.add("002212024011901594510594116909764632576");
|
||
list.add("002212024011902032710594117839872430080");
|
||
list.add("002212024011902093810594119397356064768");
|
||
list.add("002212024011902114310594119920034152448");
|
||
list.add("002212024011902142310594120594244628480");
|
||
list.add("002212024011902173610594121400536743936");
|
||
list.add("002212024011902184610594121695373459456");
|
||
list.add("002212024011902191510594121818508316672");
|
||
list.add("002212024011902241210594123062552748032");
|
||
list.add("002212024011902252210594123355465531392");
|
||
list.add("002212024011902311210594124823719014400");
|
||
list.add("002212024011902330910594125313618296832");
|
||
list.add("002212024011902454610594128491290746880");
|
||
list.add("002212024011902574210594131494309675008");
|
||
list.add("002212024011903055210594133549654294528");
|
||
list.add("002212024011903195710594137091786833920");
|
||
list.add("002212024011903241610594138178555297792");
|
||
list.add("002212024011903270710594138896442454016");
|
||
list.add("002212024011903440210594143153669398528");
|
||
list.add("002212024011903451310594143450464075776");
|
||
list.add("002212024011903570510594146438261145600");
|
||
list.add("002212024011904034610594148119836610560");
|
||
list.add("002212024011904185410594151926637105152");
|
||
list.add("002212024011904434910594158198358904832");
|
||
list.add("002212024011905131510594165607005790208");
|
||
list.add("002212024011905145710594166034292703232");
|
||
list.add("002212024011905411110594172633680146432");
|
||
list.add("002212024011905442310594173441000824832");
|
||
list.add("002212024011906142310594180989102813184");
|
||
list.add("002212024011906305510594185152904687616");
|
||
list.add("002212024011906594810594192421633515520");
|
||
list.add("002212024011907055710594193966113390592");
|
||
list.add("002212024011907361710594201601778864128");
|
||
list.add("002212024011907481610594204618105479168");
|
||
list.add("002212024011908133410594210982722785280");
|
||
list.add("002212024011908230010594213356551987200");
|
||
list.add("002212024011908475910594219646579765248");
|
||
list.add("002212024011908561610594221730454818816");
|
||
list.add("002212024011909272710594229576526102528");
|
||
list.add("002212024011909282610594229826526830592");
|
||
list.add("002212024011909360910594231767730651136");
|
||
list.add("002212024011909371910594232060652277760");
|
||
list.add("002212024011909403910594232900947501056");
|
||
list.add("002212024011909453410594234137767940096");
|
||
list.add("002212024011909494310594235180432089088");
|
||
list.add("002212024011909505910594235498420203520");
|
||
list.add("002212024011909542110594236346365865984");
|
||
list.add("002212024011909562010594236844977410048");
|
||
list.add("002212024011909573010594237140547792896");
|
||
list.add("002212024011909585610594237498361200640");
|
||
list.add("002212024011910032410594238623993425920");
|
||
list.add("002212024011910051210594239077413191680");
|
||
list.add("002212024011910115410594240763242381312");
|
||
list.add("002212024011910270310594244574457851904");
|
||
list.add("002212024011910572410594252215498002432");
|
||
list.add("002212024011911114710594255832498651136");
|
||
list.add("002212024011911334610594261365434302464");
|
||
list.add("002212024011911350710594261704982061056");
|
||
list.add("002212024011911390610594262708756537344");
|
||
list.add("002212024011911535510594266438065295360");
|
||
list.add("002212024011912015610594268455513784320");
|
||
list.add("002212024011912161610594272062034366464");
|
||
list.add("002212024011912182010594272582183931904");
|
||
list.add("002212024011912224210594273679281700864");
|
||
list.add("002212024011912234410594273940456730624");
|
||
list.add("002212024011912311210594275821662953472");
|
||
list.add("002212024011912364910594277232528187392");
|
||
list.add("002212024011912405010594278243378647040");
|
||
list.add("002212024011912451910594279373868331008");
|
||
list.add("002212024011912490710594280327207403520");
|
||
list.add("002212024011912500310594280564196040704");
|
||
list.add("002212024011912532210594281395951722496");
|
||
list.add("002212024011912570310594282325690654721");
|
||
list.add("002212024011913130210594286345391915008");
|
||
list.add("002212024011913203010594288225877393408");
|
||
list.add("002212024011913280210594290122553663488");
|
||
list.add("002212024011913290310594290378197524480");
|
||
list.add("002212024011913303210594290753250086912");
|
||
list.add("002212024011913321810594291195556024320");
|
||
list.add("002212024011913344410594291809669312512");
|
||
list.add("002212024011913415310594293607513808896");
|
||
list.add("002212024011913465210594294863760281600");
|
||
list.add("002212024011913491210594295449575587840");
|
||
list.add("002212024011913501510594295714264272896");
|
||
list.add("002212024011913521510594296218224599040");
|
||
list.add("002212024011913521810594296227461271552");
|
||
list.add("002212024011913544610594296849177944065");
|
||
list.add("002212024011913555010594297118257205248");
|
||
list.add("002212024011913575110594297623740350464");
|
||
list.add("002212024011914065610594299911902982144");
|
||
list.add("002212024011914081510594300243441700864");
|
||
list.add("002212024011914114310594301115470086144");
|
||
list.add("002212024011914202510594303306375200768");
|
||
list.add("002212024011914263010594304834187161600");
|
||
list.add("002212024011914315610594306202895294465");
|
||
list.add("002212024011914340510594306742594629632");
|
||
list.add("002212024011914431810594309064827437056");
|
||
list.add("002212024011914433710594309143251513344");
|
||
list.add("002212024011914474510594310183847813120");
|
||
list.add("002212024011914493010594310622276341760");
|
||
list.add("002212024011914525410594311481440923648");
|
||
list.add("002212024011914563610594312409662222336");
|
||
list.add("002212024011915023610594313922258227200");
|
||
list.add("002212024011915083510594315426959781888");
|
||
list.add("002212024011915202110594318388702863360");
|
||
list.add("002212024011915232110594319143629877248");
|
||
list.add("002212024011915253110594319686651805696");
|
||
list.add("002212024011915444810594324539645976576");
|
||
list.add("002212024011915502810594325968169291776");
|
||
list.add("002212024011916103910594331044069896193");
|
||
list.add("002212024011916125510594331614826352640");
|
||
list.add("002212024011916273310594335299950473216");
|
||
list.add("002212024011917593610594358462450622464");
|
||
list.add("002212024011918022610594359177345699840");
|
||
list.add("002212024011918295510594366095116791808");
|
||
list.add("002212024011918452210594369979730001920");
|
||
list.add("002212024011918485210594370862501982208");
|
||
list.add("002212024011918533810594372062076108800");
|
||
list.add("002212024011918571510594372971831615488");
|
||
list.add("002212024011919094810594376131648593920");
|
||
list.add("002212024011919140310594377200569274368");
|
||
list.add("002212024011919210410594378966508666880");
|
||
list.add("002212024011919232210594379545147305984");
|
||
list.add("002212024011919272810594380578406891520");
|
||
list.add("002212024011919350610594382495588675584");
|
||
list.add("002212024011919360510594382743052374016");
|
||
list.add("002212024011919370510594382995405078528");
|
||
list.add("002212024011919414910594384189517025280");
|
||
list.add("002212024011919543610594387406571372544");
|
||
list.add("002212024011919553510594387654283948032");
|
||
list.add("002212024011919554410594387691629383680");
|
||
list.add("002212024011920011210594389067520479232");
|
||
list.add("002212024011920030510594389541201465344");
|
||
list.add("002212024011920044810594389973198032896");
|
||
list.add("002212024011920055410594390249313103872");
|
||
list.add("002212024011920115610594391767284383744");
|
||
list.add("002212024011920273810594395719113265152");
|
||
list.add("002212024011920295710594396302178979840");
|
||
list.add("002212024011920340010594397320746070016");
|
||
list.add("002212024011920343510594397467856400384");
|
||
list.add("002212024011920363710594397979774750720");
|
||
list.add("002212024011920575210594403327442505728");
|
||
list.add("002212024011921014310594404294720311296");
|
||
list.add("002212024011921025310594404590564732928");
|
||
list.add("002212024011921074910594405830227255296");
|
||
list.add("002212024011921221310594409453429059584");
|
||
list.add("002212024011921242210594409996339531776");
|
||
list.add("002212024011921354810594412871658676224");
|
||
list.add("002212024011921363110594413054356484096");
|
||
list.add("002212024011921390210594413687469854720");
|
||
list.add("002212024011921401810594414006176145408");
|
||
list.add("002212024011921463410594415583538565120");
|
||
list.add("002212024011921593610594418863361814528");
|
||
list.add("002212024011922004810594419165079924736");
|
||
list.add("002212024011922032010594419803549224960");
|
||
list.add("002212024011922073210594420857301069824");
|
||
list.add("002212024011922085210594421195205935104");
|
||
list.add("002212024011922092810594421345467723776");
|
||
list.add("002212024011922112010594421816405360640");
|
||
list.add("002212024011922125210594422201827086336");
|
||
list.add("002212024011922133310594422372199788544");
|
||
list.add("002212024011922144910594422691149291520");
|
||
list.add("002212024011922180910594423530817712128");
|
||
list.add("002212024011922181110594423540728614912");
|
||
list.add("002212024011922192410594423845620187136");
|
||
list.add("002212024011922200510594424017441882112");
|
||
list.add("002212024011922201910594424076634910720");
|
||
list.add("002212024011922215510594424476431937536");
|
||
list.add("002212024011922234410594424937275883520");
|
||
list.add("002212024011922262810594425624368865280");
|
||
list.add("002212024011922271010594425801565446144");
|
||
list.add("002212024011922271610594425823627771904");
|
||
list.add("002212024011922272610594425867888095232");
|
||
list.add("002212024011922301010594426552624992256");
|
||
list.add("002212024011922342210594427613382828032");
|
||
list.add("002212024011922372110594428361048649728");
|
||
list.add("002212024011922420310594429543201492992");
|
||
list.add("002212024011922525810594432293632274433");
|
||
list.add("002212024011922554710594433002581614592");
|
||
list.add("002212024011922585610594433794266005504");
|
||
list.add("002212024011923022610594434674940825600");
|
||
list.add("002212024011923052010594435404060852224");
|
||
list.add("002212024011923063310594435712259084288");
|
||
list.add("002212024011923072410594435924509761536");
|
||
list.add("002212024011923093410594436468692647936");
|
||
list.add("002212024011923143710594437739250573312");
|
||
list.add("002212024011923213510594439495169200128");
|
||
list.add("002212024011923283710594441262931501056");
|
||
list.add("002212024011923301810594441688071962624");
|
||
list.add("002212024011923425010594444840138567680");
|
||
list.add("002212024011923463110594445769304301568");
|
||
list.add("002212024011923475510594446119422251008");
|
||
list.add("002212024011923501010594446688199233536");
|
||
list.add("002212024011923504910594446849255309312");
|
||
list.add("002212024011923511610594446962273902592");
|
||
list.add("002212024011923513210594447030437662720");
|
||
list.add("002212024011923581310594448711205355520");
|
||
list.add("002212024012000044010594450336457359360");
|
||
list.add("002212024012000071610594450989514399744");
|
||
list.add("002212024012000172410594453542159712256");
|
||
list.add("002212024012000264510594455894596878336");
|
||
list.add("002212024012000304710594456909967433728");
|
||
list.add("002212024012000340110594457723355914240");
|
||
list.add("002212024012000394210594459153304813568");
|
||
list.add("002212024012000404710594459426228174848");
|
||
list.add("002212024012000420010594459732625260544");
|
||
list.add("002212024012000453910594460649979441152");
|
||
list.add("002212024012000461410594460794863898624");
|
||
list.add("002212024012000465010594460947515830272");
|
||
list.add("002212024012000490410594461508357025792");
|
||
list.add("002212024012000521410594462308520488960");
|
||
list.add("002212024012000522810594462364758331392");
|
||
list.add("002212024012000525110594462460366229504");
|
||
list.add("002212024012000594310594464191046373376");
|
||
list.add("002212024012001035110594465229830791168");
|
||
list.add("002212024012001071310594466075876433920");
|
||
list.add("002212024012001081610594466341919256576");
|
||
list.add("002212024012001183510594468936366596096");
|
||
list.add("002212024012001272910594471176810909696");
|
||
list.add("002212024012001335610594472801529098240");
|
||
list.add("002212024012001380010594473824619495424");
|
||
list.add("002212024012001385110594474038829973504");
|
||
list.add("002212024012001402610594474438131802112");
|
||
list.add("002212024012001482110594476430386229248");
|
||
list.add("002212024012001484810594476541614977024");
|
||
list.add("002212024012001500210594476854211571712");
|
||
list.add("002212024012001520110594477351757500416");
|
||
list.add("002212024012002022810594479983330127872");
|
||
list.add("002212024012002034210594480292259266560");
|
||
list.add("002212024012002041510594480428398845952");
|
||
list.add("002212024012002045910594480613421867008");
|
||
list.add("002212024012002105810594482118929850368");
|
||
list.add("002212024012002142110594482973022318592");
|
||
list.add("002212024012002214310594484827476844544");
|
||
list.add("002212024012002255810594485893556273152");
|
||
list.add("002212024012002304210594487085498306560");
|
||
list.add("002212024012002324210594487592020692992");
|
||
list.add("002212024012002363210594488553206095872");
|
||
list.add("002212024012002415310594489901268164608");
|
||
list.add("002212024012002504710594492141533519872");
|
||
list.add("002212024012002553810594493361874657280");
|
||
list.add("002212024012002595210594494425807618048");
|
||
list.add("002212024012003100510594496995910184960");
|
||
list.add("002212024012003103110594497108682436608");
|
||
list.add("002212024012003152310594498332509163520");
|
||
list.add("002212024012003171410594498795241598976");
|
||
list.add("002212024012003241310594500553560780800");
|
||
list.add("002212024012003291310594501812464513024");
|
||
list.add("002212024012003342310594503112804630528");
|
||
list.add("002212024012003431210594505332801568768");
|
||
list.add("002212024012003472110594506374581182464");
|
||
list.add("002212024012003494010594506960009003008");
|
||
list.add("002212024012004060010594511068331446272");
|
||
list.add("002212024012004201410594514651277361152");
|
||
list.add("002212024012004203110594514721114386432");
|
||
list.add("002212024012004203410594514736872542208");
|
||
list.add("002212024012004344810594518316503179264");
|
||
list.add("002212024012005202710594529804072976384");
|
||
list.add("002212024012005205110594529907513917440");
|
||
list.add("002212024012006150710594543562662146048");
|
||
list.add("002212024012006205010594544999654088704");
|
||
list.add("002212024012006241010594545839114125312");
|
||
list.add("002212024012006361410594548878687465472");
|
||
list.add("002212024012006465810594551577338093568");
|
||
list.add("002212024012006575010594554314173935616");
|
||
list.add("002212024012007115110594557840027676672");
|
||
list.add("002212024012007362410594564018489118720");
|
||
list.add("002212024012007482910594567058493366272");
|
||
list.add("002212024012008230410594575763048857600");
|
||
list.add("002212024012008253310594576387036323840");
|
||
list.add("002212024012008280610594577028788113408");
|
||
list.add("002212024012008382610594579629386616832");
|
||
list.add("002212024012008521210594583093279629312");
|
||
list.add("002212024012008541210594583596443234304");
|
||
list.add("002212024012009092310594587416953556992");
|
||
list.add("002212024012009195010594590048270327808");
|
||
list.add("002212024012009453410594596524758863872");
|
||
list.add("002212024012009524910594598349020241920");
|
||
list.add("002212024012009570610594599428485402624");
|
||
list.add("002212024012009593710594600060787294208");
|
||
list.add("002212024012010265710594606940853993472");
|
||
list.add("002212024012010341410594608771372904448");
|
||
list.add("002212024012010460110594611737253269504");
|
||
list.add("002212024012011113310594618161235431424");
|
||
list.add("002212024012011173110594619665071075328");
|
||
list.add("002212024012011251910594621628888317952");
|
||
list.add("002212024012011334810594623761286230016");
|
||
list.add("002212024012011345710594624049729130496");
|
||
list.add("002212024012011422010594625910911991808");
|
||
list.add("002212024012011442710594626441478758400");
|
||
list.add("002212024012011520010594628341198606336");
|
||
list.add("002212024012012010610594630632848642048");
|
||
list.add("002212024012012042110594631450333192192");
|
||
list.add("002212024012012103310594633012677017600");
|
||
list.add("002212024012012210610594635664589496320");
|
||
list.add("002212024012012225010594636101413961728");
|
||
list.add("002212024012012245010594636606376472576");
|
||
list.add("002212024012012271710594637223305248768");
|
||
list.add("002212024012012395810594640414523641856");
|
||
list.add("002212024012012435410594641403792183296");
|
||
list.add("002212024012012481210594642486760472576");
|
||
list.add("002212024012012512010594643273237594112");
|
||
list.add("002212024012012531910594643772930195456");
|
||
list.add("002212024012012580610594644977297215488");
|
||
list.add("002212024012012591910594645284638912512");
|
||
list.add("002212024012012593310594645342717562880");
|
||
list.add("002212024012013024210594646135406653440");
|
||
list.add("002212024012013052910594646837095161856");
|
||
list.add("002212024012013071310594647270205575168");
|
||
list.add("002212024012013153710594649384633298944");
|
||
list.add("002212024012013153810594649389604360192");
|
||
list.add("002212024012013230210594651250933538816");
|
||
list.add("002212024012013232010594651327277400064");
|
||
list.add("002212024012013310010594653256085786624");
|
||
list.add("002212024012013320710594653539290415104");
|
||
list.add("002212024012013332010594653842118103040");
|
||
list.add("002212024012013335510594653991580667904");
|
||
list.add("002212024012013385410594655242723958784");
|
||
list.add("002212024012013395310594655492243103744");
|
||
list.add("002212024012013455610594657015057289216");
|
||
list.add("002212024012013494410594657971020353536");
|
||
list.add("002212024012013500110594658040879837184");
|
||
list.add("002212024012013553410594659440950935552");
|
||
list.add("002212024012013565210594659765387722752");
|
||
list.add("002212024012013593110594660433722568704");
|
||
list.add("002212024012014012110594660895905665024");
|
||
list.add("002212024012014053010594661940708368384");
|
||
list.add("002212024012014101010594663113931292672");
|
||
list.add("002212024012014114710594663520715759616");
|
||
list.add("002212024012014145010594664287951552512");
|
||
list.add("002212024012014204910594665794481618944");
|
||
list.add("002212024012014251210594666896448901120");
|
||
list.add("002212024012014253810594667005266984960");
|
||
list.add("002212024012014295910594668099194966016");
|
||
list.add("002212024012014351710594669433348386816");
|
||
list.add("002212024012014364610594669805400092672");
|
||
list.add("002212024012014441910594671709376053248");
|
||
list.add("002212024012014515110594673603900043264");
|
||
list.add("002212024012014515210594673608845291520");
|
||
list.add("002212024012014520810594673674945388544");
|
||
list.add("002212024012014572910594675020406628352");
|
||
list.add("002212024012015020310594676168060166144");
|
||
list.add("002212024012015030810594676441920471040");
|
||
list.add("002212024012015033410594676553010806784");
|
||
list.add("002212024012015075210594677635859435520");
|
||
list.add("002212024012015093810594678078134222848");
|
||
list.add("002212024012015115710594678663576350720");
|
||
list.add("002212024012015204710594680886109294592");
|
||
list.add("002212024012015253810594682103424442368");
|
||
list.add("002212024012015291310594683007772807168");
|
||
list.add("002212024012015324910594683911054159872");
|
||
list.add("002212024012015392510594685573168590848");
|
||
list.add("002212024012015443710594686883522838528");
|
||
list.add("002212024012016070010594692517039341568");
|
||
list.add("002212024012016112510594693627993804800");
|
||
list.add("002212024012016203710594695941867896832");
|
||
list.add("002212024012016345210594699527469228032");
|
||
list.add("002212024012016423810594701480931721216");
|
||
list.add("002212024012016423910594701485998989312");
|
||
list.add("002212024012016520410594703855158415360");
|
||
list.add("002212024012016554110594704766491590656");
|
||
list.add("002212024012016591110594705647002603520");
|
||
list.add("002212024012017061210594707415444922368");
|
||
list.add("002212024012017171510594710195644825600");
|
||
list.add("002212024012017341610594714474823458816");
|
||
list.add("002212024012017363710594715068012752896");
|
||
list.add("002212024012017440210594716933574975488");
|
||
list.add("002212024012017463310594717567454904320");
|
||
list.add("002212024012017491010594718227477712896");
|
||
list.add("002212024012018043210594722093682356224");
|
||
list.add("002212024012018080810594722999898148864");
|
||
list.add("002212024012018092210594723311481901056");
|
||
list.add("002212024012019024710594736750967255040");
|
||
list.add("002212024012019074410594737999546507264");
|
||
list.add("002212024012019240910594742130510098432");
|
||
list.add("002212024012019273110594742975480664064");
|
||
list.add("002212024012019302610594743712373104640");
|
||
list.add("002212024012019310710594743881852981248");
|
||
list.add("002212024012019350710594744888902512640");
|
||
list.add("002212024012019370410594745379938226176");
|
||
list.add("002212024012019384710594745810470105088");
|
||
list.add("002212024012019405310594746342218489856");
|
||
list.add("002212024012019415310594746594158383104");
|
||
list.add("002212024012019473810594748039715192832");
|
||
list.add("002212024012019580410594750666120065024");
|
||
list.add("002212024012020012010594751487911780352");
|
||
list.add("002212024012020171210594755479046082560");
|
||
list.add("002212024012020183810594755841587875840");
|
||
list.add("002212024012020184810594755882695720960");
|
||
list.add("002212024012020205310594756408119779328");
|
||
list.add("002212024012020325510594759436355129344");
|
||
list.add("002212024012020441110594762270292959232");
|
||
list.add("002212024012020574310594765678465142784");
|
||
list.add("002212024012021023210594766890241748992");
|
||
list.add("002212024012021065110594767975337512960");
|
||
list.add("002212024012021093010594768640217612288");
|
||
list.add("002212024012021245710594772531239391232");
|
||
list.add("002212024012021330510594774577238994944");
|
||
list.add("002212024012021332810594774674216681472");
|
||
list.add("002212024012021470410594778097493340160");
|
||
list.add("002212024012021560910594780380631048192");
|
||
list.add("002212024012022002410594781450893905920");
|
||
list.add("002212024012022052510594782714643472384");
|
||
list.add("002212024012022102310594783963042697216");
|
||
list.add("002212024012022113210594784251634716672");
|
||
list.add("002212024012022135010594784832614264832");
|
||
list.add("002212024012022261510594787957365215232");
|
||
list.add("002212024012022265310594788117926838272");
|
||
list.add("002212024012022280310594788411345596416");
|
||
list.add("002212024012022283910594788562229354496");
|
||
list.add("002212024012022303410594789042121768960");
|
||
list.add("002212024012022305110594789114751111168");
|
||
list.add("002212024012022310510594789174819856384");
|
||
list.add("002212024012022321810594789479252979712");
|
||
list.add("002212024012022332510594789759262851072");
|
||
list.add("002212024012022334010594789823122919424");
|
||
list.add("002212024012022340710594789935919562752");
|
||
list.add("002212024012022341010594789947188355072");
|
||
list.add("002212024012022352810594790275338932224");
|
||
list.add("002212024012022361410594790470792970240");
|
||
list.add("002212024012022371410594790720687427584");
|
||
list.add("002212024012022391610594791232512024576");
|
||
list.add("002212024012022404210594791594485936128");
|
||
list.add("002212024012022422710594792031962103808");
|
||
list.add("002212024012022461310594792980209168384");
|
||
list.add("002212024012022465310594793149695463424");
|
||
list.add("002212024012022584010594796116432998400");
|
||
list.add("002212024012023015610594796938510295040");
|
||
list.add("002212024012023020910594796989178769408");
|
||
list.add("002212024012023032710594797316690350080");
|
||
list.add("002212024012023074710594798408076976128");
|
||
list.add("002212024012023080710594798492065845248");
|
||
list.add("002212024012023144810594800174847664128");
|
||
list.add("002212024012023163010594800602945810432");
|
||
list.add("002212024012023202610594801592686174208");
|
||
list.add("002212024012023233010594802364473561088");
|
||
list.add("002212024012023280010594803497072263168");
|
||
list.add("002212024012023293510594803895683928064");
|
||
list.add("002212024012023303210594804134859919360");
|
||
list.add("002212024012023321110594804549941022720");
|
||
list.add("002212024012023365110594805722156756992");
|
||
list.add("002212024012023391810594806340189331456");
|
||
list.add("002212024012023392010594806350633963520");
|
||
list.add("002212024012023412910594806890712391680");
|
||
list.add("002212024012023444210594807699142967296");
|
||
list.add("002212024012023505710594809273943674880");
|
||
list.add("002212024012023512810594809402321960960");
|
||
list.add("002212024012023541810594810116667469824");
|
||
list.add("002212024012023593910594811459480784896");
|
||
list.add("002212024012100022110594812139787378688");
|
||
list.add("002212024012100040110594812561252016128");
|
||
list.add("002212024012100055210594813027738804224");
|
||
list.add("002212024012100133510594814968853815296");
|
||
list.add("002212024012100145110594815288849301504");
|
||
list.add("002212024012100150510594815344055771136");
|
||
list.add("002212024012100164110594815747939782656");
|
||
list.add("002212024012100184110594816252358750208");
|
||
list.add("002212024012100240910594817627562594304");
|
||
list.add("002212024012100265110594818304929333248");
|
||
list.add("002212024012100265510594818324819726336");
|
||
list.add("002212024012100323910594819766950621184");
|
||
list.add("002212024012100325810594819848056565760");
|
||
list.add("002212024012100422010594822204490186752");
|
||
list.add("002212024012100432310594822468720619520");
|
||
list.add("002212024012100470510594823397177991168");
|
||
list.add("002212024012100533310594825025135636480");
|
||
list.add("002212024012101081010594828705940230144");
|
||
list.add("002212024012101120110594829672527552512");
|
||
list.add("002212024012101130710594829948177211392");
|
||
list.add("002212024012101171210594830976075292672");
|
||
list.add("002212024012101195910594831678907023360");
|
||
list.add("002212024012101284910594833902074712064");
|
||
list.add("002212024012101292810594834063239839744");
|
||
list.add("002212024012101354910594835663919448064");
|
||
list.add("002212024012101382410594836313726083072");
|
||
list.add("002212024012101385110594836426734497792");
|
||
list.add("002212024012101395810594836707094200320");
|
||
list.add("002212024012101405410594836940690751488");
|
||
list.add("002212024012101573110594841121707089920");
|
||
list.add("002212024012102021410594842311298744320");
|
||
list.add("002212024012102022010594842334529736704");
|
||
list.add("002212024012102033710594842659609268224");
|
||
list.add("002212024012102035710594842742145011712");
|
||
list.add("002212024012102071110594843557768364032");
|
||
list.add("002212024012102071410594843567142146048");
|
||
list.add("002212024012102081010594843802404323328");
|
||
list.add("002212024012102092710594844128728965120");
|
||
list.add("002212024012102125010594844979785224192");
|
||
list.add("002212024012102135510594845252278149120");
|
||
list.add("002212024012102155210594845743196758016");
|
||
list.add("002212024012102265710594848532009967616");
|
||
list.add("002212024012102322410594849902228631552");
|
||
list.add("002212024012102334010594850219938926592");
|
||
list.add("002212024012102384010594851481522499584");
|
||
list.add("002212024012102442810594852937281531904");
|
||
list.add("002212024012102591010594856638749282304");
|
||
list.add("002212024012103121910594859947595255808");
|
||
list.add("002212024012103152210594860715487588352");
|
||
list.add("002212024012103390010594866664814051328");
|
||
list.add("002212024012103441410594867978017239040");
|
||
list.add("002212024012103475210594868895555637248");
|
||
list.add("002212024012103522010594870020035801088");
|
||
list.add("002212024012104252610594878349321895936");
|
||
list.add("002212024012104424410594882700406575104");
|
||
list.add("002212024012104444710594883218347331584");
|
||
list.add("002212024012104454110594883443373002752");
|
||
list.add("002212024012105052610594888412633616384");
|
||
list.add("002212024012105085910594889305842081792");
|
||
list.add("002212024012105160710594891101192937472");
|
||
list.add("002212024012105525010594900343509393408");
|
||
list.add("002212024012105574010594901558414712832");
|
||
list.add("002212024012106361310594911262215991296");
|
||
list.add("002212024012106460110594913725917790208");
|
||
list.add("002212024012107113210594920146825728000");
|
||
list.add("002212024012107513610594930230778335232");
|
||
list.add("002212024012108185110594937090230648832");
|
||
list.add("002212024012108300110594939899485220864");
|
||
list.add("002212024012108375910594941906282672128");
|
||
list.add("002212024012108414410594942848085127168");
|
||
list.add("002212024012108540910594945971711025152");
|
||
list.add("002212024012109375410594956984284811264");
|
||
list.add("002212024012109381910594957087831085056");
|
||
list.add("002212024012109531810594960859504275456");
|
||
list.add("002212024012109551310594961342371061760");
|
||
list.add("002212024012110130010594965816926183424");
|
||
list.add("002212024012110282210594969684529762304");
|
||
list.add("002212024012110320810594970630600163328");
|
||
list.add("002212024012110383810594972268128718848");
|
||
list.add("002212024012110405810594972852495970304");
|
||
list.add("002212024012110412410594972962087927808");
|
||
list.add("002212024012111082110594979746528714752");
|
||
list.add("002212024012111200610594982701064683520");
|
||
list.add("002212024012111294610594985135867318272");
|
||
list.add("002212024012111364110594986875383599104");
|
||
list.add("002212024012111590510594992511668342784");
|
||
list.add("002212024012112045410594993974632574976");
|
||
list.add("002212024012112100910594995298402926592");
|
||
list.add("002212024012112105310594995482561171456");
|
||
list.add("002212024012112153710594996673427963904");
|
||
list.add("002212024012112160710594996800931385344");
|
||
list.add("002212024012112195910594997773277167616");
|
||
list.add("002212024012112241310594998838727712768");
|
||
list.add("002212024012112242510594998887411814400");
|
||
list.add("002212024012112262310594999382978678784");
|
||
list.add("002212024012112272110594999624640921600");
|
||
list.add("002212024012112273910594999701382799360");
|
||
list.add("002212024012112295010595000253080576000");
|
||
list.add("002212024012112312510595000649553506304");
|
||
list.add("002212024012112352510595001657994137600");
|
||
list.add("002212024012112371710595002127284527104");
|
||
list.add("002212024012112402610595002918322995200");
|
||
list.add("002212024012112455110595004280173592576");
|
||
list.add("002212024012112462910595004442896957440");
|
||
list.add("002212024012112512810595005697113083904");
|
||
list.add("002212024012113003010595007967551979520");
|
||
list.add("002212024012113114210595010788220932096");
|
||
list.add("002212024012113115710595010849897357312");
|
||
list.add("002212024012113135410595011342459330560");
|
||
list.add("002212024012113180210595012380865269760");
|
||
list.add("002212024012113225710595013618731708416");
|
||
list.add("002212024012113230010595013629276024832");
|
||
list.add("002212024012113242710595013995730501632");
|
||
list.add("002212024012113290910595015177328852992");
|
||
list.add("002212024012113355810595016894889979904");
|
||
list.add("002212024012113363210595017034905804800");
|
||
list.add("002212024012113422510595018517363355648");
|
||
list.add("002212024012113424810595018615403438080");
|
||
list.add("002212024012113484910595020129081614336");
|
||
list.add("002212024012113510410595020695670784000");
|
||
list.add("002212024012113530210595021187432116224");
|
||
list.add("002212024012113542210595021526092644352");
|
||
list.add("002212024012113572610595022295375106048");
|
||
list.add("002212024012114005610595023178321424384");
|
||
list.add("002212024012114015810595023438753501184");
|
||
list.add("002212024012114020110595023450675204096");
|
||
list.add("002212024012114054210595024376724029440");
|
||
list.add("002212024012114123210595026094818979840");
|
||
list.add("002212024012114130410595026229875568640");
|
||
list.add("002212024012114165910595027214747627520");
|
||
list.add("002212024012114172810595027336811106304");
|
||
list.add("002212024012114192910595027844826783744");
|
||
list.add("002212024012114212910595028348856606720");
|
||
list.add("002212024012114245310595029204924747776");
|
||
list.add("002212024012114273410595029878496423936");
|
||
list.add("002212024012114285610595030225930584064");
|
||
list.add("002212024012114313110595030874845970432");
|
||
list.add("002212024012114321010595031036483010560");
|
||
list.add("002212024012114391410595032816354676736");
|
||
list.add("002212024012114452810595034385437024256");
|
||
list.add("002212024012114510210595035787030265856");
|
||
list.add("002212024012114521310595036083495227392");
|
||
list.add("002212024012114531110595036325790777344");
|
||
list.add("002212024012114570610595037313452412928");
|
||
list.add("002212024012114574410595037473014644736");
|
||
list.add("002212024012115004310595038223877074944");
|
||
list.add("002212024012115035110595039012131823616");
|
||
list.add("002212024012115053810595039458684366848");
|
||
list.add("002212024012115054810595039499924635648");
|
||
list.add("002212024012115091710595040379003555840");
|
||
list.add("002212024012115122610595041169389326336");
|
||
list.add("002212024012115150110595041822166896640");
|
||
list.add("002212024012115175410595042548649095168");
|
||
list.add("002212024012115181310595042625946537984");
|
||
list.add("002212024012115283010595045212408975360");
|
||
list.add("002212024012115311410595045902363594752");
|
||
list.add("002212024012115323610595046246841253888");
|
||
list.add("002212024012115340310595046610915758080");
|
||
list.add("002212024012115364110595047274053259264");
|
||
list.add("002212024012115383810595047762461921280");
|
||
list.add("002212024012115393610595048006020960256");
|
||
list.add("002212024012115432510595048969516838912");
|
||
list.add("002212024012115523510595051276765876224");
|
||
list.add("002212024012116014110595053563529744384");
|
||
list.add("002212024012116042110595054235981336576");
|
||
list.add("002212024012116234610595059122240835584");
|
||
list.add("002212024012116401910595063286572142593");
|
||
list.add("002212024012116410310595063470078394368");
|
||
list.add("002212024012116455010595064674858663936");
|
||
list.add("002212024012116475710595065210543628288");
|
||
list.add("002212024012116510110595065980921802752");
|
||
list.add("002212024012116541310595066786404331520");
|
||
list.add("002212024012116560610595067258829762560");
|
||
list.add("002212024012117022210595068836914335744");
|
||
list.add("002212024012117074310595070182939291648");
|
||
list.add("002212024012117140310595071777141776384");
|
||
list.add("002212024012117295510595075768928636928");
|
||
list.add("002212024012117342310595076892806238208");
|
||
list.add("002212024012117362210595077392572440576");
|
||
list.add("002212024012117381910595077883821416449");
|
||
list.add("002212024012117464010595079987069513728");
|
||
list.add("002212024012117545410595082057375645696");
|
||
list.add("002212024012118102110595085946217422848");
|
||
list.add("002212024012118512510595096278832414720");
|
||
list.add("002212024012119014710595098888321228800");
|
||
list.add("002212024012119021510595099007097991168");
|
||
list.add("002212024012119130810595101743295881216");
|
||
list.add("002212024012119152810595102330990301184");
|
||
list.add("002212024012119181810595103046938480640");
|
||
list.add("002212024012119224710595104175111888896");
|
||
list.add("002212024012119240910595104519257686016");
|
||
list.add("002212024012119244310595104659019026432");
|
||
list.add("002212024012119394910595108462120529920");
|
||
list.add("002212024012119470910595110306265292800");
|
||
list.add("002212024012119565110595112748661231616");
|
||
list.add("002212024012120050610595114824932089856");
|
||
list.add("002212024012120101810595116132469895168");
|
||
list.add("002212024012120223510595119220911931392");
|
||
list.add("002212024012120301710595121162164723712");
|
||
list.add("002212024012120341310595122151592648704");
|
||
list.add("002212024012120412910595123979896049664");
|
||
list.add("002212024012120545810595127374289764352");
|
||
list.add("002212024012121002910595128760811089920");
|
||
list.add("002212024012121060710595130176476893184");
|
||
list.add("002212024012121112010595131490208403456");
|
||
list.add("002212024012121173910595133079694307328");
|
||
list.add("002212024012121190010595133422182244352");
|
||
list.add("002212024012121245010595134887552577536");
|
||
list.add("002212024012121394910595138661061165056");
|
||
list.add("002212024012121395410595138680985972736");
|
||
list.add("002212024012121412510595139061743026176");
|
||
list.add("002212024012121462510595140321042722816");
|
||
list.add("002212024012121485110595140931395379200");
|
||
list.add("002212024012121485310595140942254923776");
|
||
list.add("002212024012121490910595141008896118784");
|
||
list.add("002212024012121550910595142520059920384");
|
||
list.add("002212024012121553710595142633446559744");
|
||
list.add("002212024012121562010595142816567255040");
|
||
list.add("002212024012122020510595144263915098112");
|
||
list.add("002212024012122025110595144453705261056");
|
||
list.add("002212024012122032710595144608010633216");
|
||
list.add("002212024012122032810595144609667383296");
|
||
list.add("002212024012122042710595144858533064704");
|
||
list.add("002212024012122073110595145630226444288");
|
||
list.add("002212024012122074610595145693556240384");
|
||
list.add("002212024012122094310595146182320365568");
|
||
list.add("002212024012122181710595148341437124608");
|
||
list.add("002212024012122183410595148411735236608");
|
||
list.add("002212024012122211010595149065657081856");
|
||
list.add("002212024012122324510595151981691371520");
|
||
list.add("002212024012122330110595152048244715520");
|
||
list.add("002212024012122335110595152256915374080");
|
||
list.add("002212024012122352210595152639939215360");
|
||
list.add("002212024012122394210595153728147193856");
|
||
list.add("002212024012122474010595155735880826880");
|
||
list.add("002212024012122545410595157556317974528");
|
||
list.add("002212024012122571710595158152478920704");
|
||
list.add("002212024012123010810595159121267937280");
|
||
list.add("002212024012123034710595159790076133376");
|
||
list.add("002212024012123041110595159888859320320");
|
||
list.add("002212024012123072610595160707222360064");
|
||
list.add("002212024012123090010595161102049046528");
|
||
list.add("002212024012123132910595162230260146176");
|
||
list.add("002212024012123144610595162552697266176");
|
||
list.add("002212024012123170410595163133509169152");
|
||
list.add("002212024012123185810595163609204981760");
|
||
list.add("002212024012123191610595163687250415616");
|
||
list.add("002212024012123212010595164207735209984");
|
||
list.add("002212024012123241510595164938678730752");
|
||
list.add("002212024012123313710595166795615555584");
|
||
list.add("002212024012123342110595167481752354816");
|
||
list.add("002212024012123344310595167574933983232");
|
||
list.add("002212024012123380010595168401460944896");
|
||
list.add("002212024012123422110595169496445112320");
|
||
list.add("002212024012123434110595169830338682880");
|
||
list.add("002212024012123470010595170666823086080");
|
||
list.add("002212024012123495310595171390970482688");
|
||
list.add("002212024012123543310595172565041119232");
|
||
list.add("002212024012123580310595173448065908736");
|
||
list.add("002212024012123583310595173571684630528");
|
||
list.add("002212024012200025410595174667204128768");
|
||
list.add("002212024012200213610595179371893743616");
|
||
list.add("002212024012200323610595182141330251776");
|
||
list.add("002212024012200333010595182370100281344");
|
||
list.add("002212024012200394310595183932839124992");
|
||
list.add("002212024012200412010595184341481881600");
|
||
list.add("002212024012200461410595185570942451712");
|
||
list.add("002212024012200475210595185981813051392");
|
||
list.add("002212024012200540310595187539770691584");
|
||
list.add("002212024012201021210595189589284847616");
|
||
list.add("002212024012201024510595189727303655424");
|
||
list.add("002212024012201032710595189905873850368");
|
||
list.add("002212024012201112010595191888326025216");
|
||
list.add("002212024012201130710595192336510152704");
|
||
list.add("002212024012201164410595193247826378752");
|
||
list.add("002212024012201211810595194396701298688");
|
||
list.add("002212024012201224810595194772749197312");
|
||
list.add("002212024012201282610595196192173154304");
|
||
list.add("002212024012201285610595196318686580736");
|
||
list.add("002212024012201300010595196586730840064");
|
||
list.add("002212024012201324310595197268408528896");
|
||
list.add("002212024012201390710595198880019509248");
|
||
list.add("002212024012201402410595199202641137664");
|
||
list.add("002212024012201421010595199646865678336");
|
||
list.add("002212024012201441810595200183795621888");
|
||
list.add("002212024012201541310595202681872441344");
|
||
list.add("002212024012202054010595205564480294912");
|
||
list.add("002212024012202061810595205721641353216");
|
||
list.add("002212024012202080310595206162449633280");
|
||
list.add("002212024012202092210595206493570420736");
|
||
list.add("002212024012202152410595208011397824512");
|
||
list.add("002212024012202193710595209073440673792");
|
||
list.add("002212024012202224710595209869975941120");
|
||
list.add("002212024012202291810595211511798493184");
|
||
list.add("002212024012202302410595211785708204032");
|
||
list.add("002212024012202442910595215332432760832");
|
||
list.add("002212024012203064210595220920688562176");
|
||
list.add("002212024012203145010595222968272244736");
|
||
list.add("002212024012203150610595223035649421312");
|
||
list.add("002212024012203164810595223462075846656");
|
||
list.add("002212024012203170610595223539475636224");
|
||
list.add("002212024012203205010595224478414426112");
|
||
list.add("002212024012203221510595224834196459520");
|
||
list.add("002212024012203305610595227021528731648");
|
||
list.add("002212024012203385910595229048557662208");
|
||
list.add("002212024012203400110595229304766681088");
|
||
list.add("002212024012203480110595231320666427392");
|
||
list.add("002212024012203515210595232288837693440");
|
||
list.add("002212024012203593710595234240251396096");
|
||
list.add("002212024012204033110595235222445006848");
|
||
list.add("002212024012204070710595236126145552384");
|
||
list.add("002212024012204083410595236491958243328");
|
||
list.add("002212024012204100010595236850456530944");
|
||
list.add("002212024012204180910595238905065705472");
|
||
list.add("002212024012204202610595239476291526656");
|
||
list.add("002212024012204324610595242582430126080");
|
||
list.add("002212024012204512610595247280226238464");
|
||
list.add("002212024012205013310595249823959384064");
|
||
list.add("002212024012205144410595253143235948544");
|
||
list.add("002212024012205512210595262362592964608");
|
||
list.add("002212024012205573610595263932532199424");
|
||
list.add("002212024012206003610595264683673812992");
|
||
list.add("002212024012206225210595270288617103360");
|
||
list.add("002212024012207423510595290349826646016");
|
||
list.add("002212024012208084110595296917749334016");
|
||
list.add("002212024012208384910595304500785704960");
|
||
list.add("002212024012208490310595307077856043008");
|
||
list.add("002212024012209074910595311800226250752");
|
||
list.add("002212024012209174110595314285110263808");
|
||
list.add("002212024012209191510595314675905662976");
|
||
list.add("002212024012209294010595317299229552640");
|
||
list.add("002212024012209360010595318894607114240");
|
||
list.add("002212024012209460410595321427567960064");
|
||
list.add("002212024012209533010595323296660488192");
|
||
list.add("002212024012210095010595327407561764864");
|
||
list.add("002212024012210213610595330366229880832");
|
||
list.add("002212024012210282510595332082242744320");
|
||
list.add("002212024012210284710595332175404302336");
|
||
list.add("002212024012210442610595336112764055552");
|
||
list.add("002212024012210490210595337270834405376");
|
||
list.add("002212024012210550410595338788519604224");
|
||
list.add("002212024012211003810595340191122448384");
|
||
list.add("002212024012211140510595343574442606592");
|
||
list.add("002212024012211163910595344221314306048");
|
||
list.add("002212024012211413310595350486774050816");
|
||
list.add("002212024012211441010595351147147812864");
|
||
list.add("002212024012211490510595352382937698304");
|
||
list.add("002212024012211502810595352733519085568");
|
||
list.add("002212024012211545110595353835267125248");
|
||
list.add("002212024012211571310595354429396811776");
|
||
list.add("002212024012212011410595355441710649344");
|
||
list.add("002212024012212032810595356002119221248");
|
||
list.add("002212024012212071310595356946645819392");
|
||
list.add("002212024012212093210595357529777012736");
|
||
list.add("002212024012212132710595358515703697408");
|
||
list.add("002212024012212133010595358527221026816");
|
||
list.add("002212024012212145810595358899561975808");
|
||
list.add("002212024012212182310595359759333785600");
|
||
list.add("002212024012212195910595360160940421120");
|
||
list.add("002212024012212223710595360821542289408");
|
||
list.add("002212024012212280010595362176943087616");
|
||
list.add("002212024012212331510595363497014087680");
|
||
list.add("002212024012212332010595363520214040576");
|
||
list.add("002212024012212364410595364374573342720");
|
||
list.add("002212024012212392610595365053549891584");
|
||
list.add("002212024012212420210595365708551356416");
|
||
list.add("002212024012212515010595368176783806464");
|
||
list.add("002212024012212545410595368945522139136");
|
||
list.add("002212024012212563810595369385110470656");
|
||
list.add("002212024012212595510595370207916490752");
|
||
list.add("002212024012213001910595370308704493568");
|
||
list.add("002212024012213045010595371445531803648");
|
||
list.add("002212024012213050910595371526668582912");
|
||
list.add("002212024012213080110595372247414558720");
|
||
list.add("002212024012213103110595372879196917760");
|
||
list.add("002212024012213123510595373397762211840");
|
||
list.add("002212024012213124410595373434470760448");
|
||
list.add("002212024012213213610595375667194064896");
|
||
list.add("002212024012213215310595375739543347200");
|
||
list.add("002212024012213265310595376996419260416");
|
||
list.add("002212024012213301810595377855347728384");
|
||
list.add("002212024012213344010595378955238993920");
|
||
list.add("002212024012213361110595379334821642240");
|
||
list.add("002212024012213370310595379552948408320");
|
||
list.add("002212024012213370610595379567860219904");
|
||
list.add("002212024012213394610595380238816317440");
|
||
list.add("002212024012213411910595380627399110656");
|
||
list.add("002212024012213415510595380779316637696");
|
||
list.add("002212024012213462510595381912858877952");
|
||
list.add("002212024012213504010595382980867723264");
|
||
list.add("002212024012213515710595383303063072768");
|
||
list.add("002212024012213541710595383890711797760");
|
||
list.add("002212024012213580410595384843773497344");
|
||
list.add("002212024012214085610595387578410983424");
|
||
list.add("002212024012214094110595387768931315712");
|
||
list.add("002212024012214105410595388075132284928");
|
||
list.add("002212024012214132210595388693142171648");
|
||
list.add("002212024012214180110595389863342465024");
|
||
list.add("002212024012214231810595391195878322176");
|
||
list.add("002212024012214270510595392146673364992");
|
||
list.add("002212024012214274410595392311675785216");
|
||
list.add("002212024012214315910595393379368296448");
|
||
list.add("002212024012214352110595394228169596928");
|
||
list.add("002212024012214372910595394764033875968");
|
||
list.add("002212024012214413010595395773510025216");
|
||
list.add("002212024012214440310595396417831763968");
|
||
list.add("002212024012214441010595396444547149824");
|
||
list.add("002212024012214533910595398832112914432");
|
||
list.add("002212024012215005410595400654814597120");
|
||
list.add("002212024012215010010595400680562814976");
|
||
list.add("002212024012215033010595401309810950144");
|
||
list.add("002212024012215040310595401447122890752");
|
||
list.add("002212024012215085310595402667338199040");
|
||
list.add("002212024012215160610595404480555941888");
|
||
list.add("002212024012215185210595405179273465856");
|
||
list.add("002212024012215190610595405236439703552");
|
||
list.add("002212024012215194110595405382984491008");
|
||
list.add("002212024012215213510595405859824463872");
|
||
list.add("002212024012215250010595406722130571264");
|
||
list.add("002212024012215271010595407267583643648");
|
||
list.add("002212024012215331410595408793838641152");
|
||
list.add("002212024012215355510595409466669039616");
|
||
list.add("002212024012215400410595410514260389888");
|
||
list.add("002212024012215462410595412106063241217");
|
||
list.add("002212024012215465010595412214380593152");
|
||
list.add("002212024012215494010595412926899310592");
|
||
list.add("002212024012215511410595413321401065472");
|
||
list.add("002212024012216024510595416219779657728");
|
||
list.add("002212024012216090510595417815371309056");
|
||
list.add("002212024012216152210595419395002855424");
|
||
list.add("002212024012216303910595423242619289600");
|
||
list.add("002212024012216323510595423730109599744");
|
||
list.add("002212024012216462110595427192589164544");
|
||
list.add("002212024012216512810595428479806590976");
|
||
list.add("002212024012217133810595434059760828416");
|
||
list.add("002212024012217140110595434157348577280");
|
||
list.add("002212024012217265210595437391108599808");
|
||
list.add("002212024012217373310595440078580711424");
|
||
list.add("002212024012217401810595440769727373312");
|
||
list.add("002212024012218025310595446452980219904");
|
||
list.add("002212024012218025710595446472613158912");
|
||
list.add("002212024012218062210595447332103933952");
|
||
list.add("002212024012218153410595449647384133632");
|
||
list.add("002212024012218204610595450954739814400");
|
||
list.add("002212024012218212110595451102025318400");
|
||
list.add("002212024012218213010595451139451953152");
|
||
list.add("002212024012218333910595454198277308416");
|
||
list.add("002212024012218353910595454701597982721");
|
||
list.add("002212024012218481810595457884660523008");
|
||
list.add("002212024012218495710595458297334534144");
|
||
list.add("002212024012218520410595458831311863808");
|
||
list.add("002212024012219012110595461168265654272");
|
||
list.add("002212024012219050610595462109702279168");
|
||
list.add("002212024012219194110595465779372269568");
|
||
list.add("002212024012219201110595465908762533888");
|
||
list.add("002212024012219273110595467754176421888");
|
||
list.add("002212024012219283010595468001912987648");
|
||
list.add("002212024012219294710595468322303574016");
|
||
list.add("002212024012219352610595469744096534528");
|
||
list.add("002212024012219365410595470113533415424");
|
||
list.add("002212024012219390510595470664100651008");
|
||
list.add("002212024012219433610595471799256776704");
|
||
list.add("002212024012219490110595473162892890112");
|
||
list.add("002212024012220022110595476517661044736");
|
||
list.add("002212024012220204310595481138892726272");
|
||
list.add("002212024012220290910595483263521120256");
|
||
list.add("002212024012220380610595485513547710464");
|
||
list.add("002212024012220414910595486450121043968");
|
||
list.add("002212024012220440310595487011411030016");
|
||
list.add("002212024012220442910595487123891904512");
|
||
list.add("002212024012220452210595487343670521856");
|
||
list.add("002212024012220464610595487694755426304");
|
||
list.add("002212024012220465710595487743579455488");
|
||
list.add("002212024012221093610595493441002401792");
|
||
list.add("002212024012221100010595493542824345600");
|
||
list.add("002212024012221124710595494243620212736");
|
||
list.add("002212024012221130210595494306390147072");
|
||
list.add("002212024012221142410595494650877739008");
|
||
list.add("002212024012221162110595495139865174016");
|
||
list.add("002212024012221163410595495195483959296");
|
||
list.add("002212024012221203110595496188132257792");
|
||
list.add("002212024012221214110595496482288037888");
|
||
list.add("002212024012221264310595497750136557568");
|
||
list.add("002212024012221295410595498553067823104");
|
||
list.add("002212024012221330310595499344510283776");
|
||
list.add("002212024012221350810595499867519176704");
|
||
list.add("002212024012221355010595500044163866624");
|
||
list.add("002212024012221385610595500824719646720");
|
||
list.add("002212024012221422710595501708908781568");
|
||
list.add("002212024012221451210595502402193186816");
|
||
list.add("002212024012221472510595502960037392384");
|
||
list.add("002212024012221500610595503635456974848");
|
||
list.add("002212024012221564410595505302363852800");
|
||
list.add("002212024012221572710595505485452836864");
|
||
list.add("002212024012221585210595505841709477888");
|
||
list.add("002212024012222014110595506551556345856");
|
||
list.add("002212024012222061810595507711337418752");
|
||
list.add("002212024012222094310595508572880785408");
|
||
list.add("002212024012222120610595509171640770560");
|
||
list.add("002212024012222210110595511413620043776");
|
||
list.add("002212024012222240610595512191852105728");
|
||
list.add("002212024012222244310595512347178991616");
|
||
list.add("002212024012222253810595512575702224896");
|
||
list.add("002212024012222282610595513281997238272");
|
||
list.add("002212024012222291610595513491272724480");
|
||
list.add("002212024012222310610595513954440638464");
|
||
list.add("002212024012222321510595514243849486336");
|
||
list.add("002212024012222383810595515847590932480");
|
||
list.add("002212024012222431210595516997064097792");
|
||
list.add("002212024012222435810595517191536074752");
|
||
list.add("002212024012222461010595517744129331200");
|
||
list.add("002212024012222492610595518566014971904");
|
||
list.add("002212024012222504010595518876766601216");
|
||
list.add("002212024012222543410595519860298108928");
|
||
list.add("002212024012222562210595520310812569600");
|
||
list.add("002212024012222572510595520574540152832");
|
||
list.add("002212024012223015210595521696450539520");
|
||
list.add("002212024012223084910595523445885067264");
|
||
list.add("002212024012223133110595524627909177344");
|
||
list.add("002212024012223163310595525392503496704");
|
||
list.add("002212024012223171310595525559929499648");
|
||
list.add("002212024012223192710595526121941069824");
|
||
list.add("002212024012223200910595526298598498304");
|
||
list.add("002212024012223291810595528598469050368");
|
||
list.add("002212024012223323610595529427975524352");
|
||
list.add("002212024012223410710595531574846648320");
|
||
list.add("002212024012223474310595533232983072768");
|
||
list.add("002212024012223523810595534472454250496");
|
||
list.add("002212024012223570310595535582334377984");
|
||
list.add("002212024012223573210595535705579913216");
|
||
list.add("002212024012223595110595536288666714112");
|
||
list.add("002212024012300052010595537668090273792");
|
||
list.add("002212024012300065610595538070481522688");
|
||
list.add("002212024012300105910595539089918849024");
|
||
list.add("002212024012300134110595539769455628288");
|
||
list.add("002212024012300140810595539880418148352");
|
||
list.add("002212024012300142910595539971285536768");
|
||
list.add("002212024012300213510595541757139517440");
|
||
list.add("002212024012300275010595543331050971136");
|
||
list.add("002212024012300365210595545605124190208");
|
||
list.add("002212024012300385810595546130255245312");
|
||
list.add("002212024012300485810595548648522293248");
|
||
list.add("002212024012300545510595550144246960128");
|
||
list.add("002212024012300560810595550451299373056");
|
||
list.add("002212024012300584610595551113331666944");
|
||
list.add("002212024012300592710595551284858343424");
|
||
list.add("002212024012301004310595551605440966656");
|
||
list.add("002212024012301015710595551916002836480");
|
||
list.add("002212024012301082910595553561560346624");
|
||
list.add("002212024012301084210595553615234002944");
|
||
list.add("002212024012301184710595556152000081920");
|
||
list.add("002212024012301185510595556183660912640");
|
||
list.add("002212024012301213610595556862446100480");
|
||
list.add("002212024012301251910595557796119248896");
|
||
list.add("002212024012301302810595559091397685248");
|
||
list.add("002212024012301483410595563647362072576");
|
||
list.add("002212024012301503110595564139283644416");
|
||
list.add("002212024012301525010595564721340796928");
|
||
list.add("002212024012301534010595564929746370560");
|
||
list.add("002212024012301574610595565962368241664");
|
||
list.add("002212024012302023610595567180297621504");
|
||
list.add("002212024012302052010595567866869047296");
|
||
list.add("002212024012302060010595568034274570240");
|
||
list.add("002212024012302121810595569621693988864");
|
||
list.add("002212024012302211310595571862732734464");
|
||
list.add("002212024012302333410595574970581688320");
|
||
list.add("002212024012302362110595575671672471552");
|
||
list.add("002212024012302384510595576275124781056");
|
||
list.add("002212024012302443310595577734577872896");
|
||
list.add("002212024012302443310595577735330779136");
|
||
list.add("002212024012302483310595578741451030528");
|
||
list.add("002212024012302530110595579867357413376");
|
||
list.add("002212024012302552110595580452989140992");
|
||
list.add("002212024012302585910595581367719677952");
|
||
list.add("002212024012303030410595582397716799488");
|
||
list.add("002212024012303132610595585003572842496");
|
||
list.add("002212024012303150810595585432783585280");
|
||
list.add("002212024012303163710595585806216024064");
|
||
list.add("002212024012303215410595587136789274624");
|
||
list.add("002212024012303302810595589292007530496");
|
||
list.add("002212024012303322010595589761636175872");
|
||
list.add("002212024012303325210595589895291232256");
|
||
list.add("002212024012303423310595592332856647680");
|
||
list.add("002212024012303432610595592555911348224");
|
||
list.add("002212024012303440610595592723562876928");
|
||
list.add("002212024012303452710595593060736655360");
|
||
list.add("002212024012303532210595595053430796288");
|
||
list.add("002212024012303571610595596036843929600");
|
||
list.add("002212024012304143010595600370808741888");
|
||
list.add("002212024012304170810595601034847391744");
|
||
list.add("002212024012304185810595601497923719168");
|
||
list.add("002212024012304222210595602351168049152");
|
||
list.add("002212024012304232810595602627405139968");
|
||
list.add("002212024012304454410595608233924485120");
|
||
list.add("002212024012304482310595608901045624832");
|
||
list.add("002212024012304544610595610505073483776");
|
||
list.add("002212024012304583910595611482153197568");
|
||
list.add("002212024012305025410595612551519502336");
|
||
list.add("002212024012305152010595615682331496448");
|
||
list.add("002212024012305364610595621077334511616");
|
||
list.add("002212024012305464110595623572415012864");
|
||
list.add("002212024012305521610595624975469703168");
|
||
list.add("002212024012306100610595629463149334528");
|
||
list.add("002212024012306132910595630317067694080");
|
||
list.add("002212024012307251810595648390382186496");
|
||
list.add("002212024012308182210595661743406149632");
|
||
list.add("002212024012308493210595669588677951488");
|
||
list.add("002212024012309062810595673846948134912");
|
||
list.add("002212024012309202910595677376082518016");
|
||
list.add("002212024012309274310595679196869947392");
|
||
list.add("002212024012309291810595679593844035584");
|
||
list.add("002212024012309392410595682137295147008");
|
||
list.add("002212024012309524010595685475675918336");
|
||
list.add("002212024012310064110595689004127346688");
|
||
list.add("002212024012310144110595691014058795008");
|
||
list.add("002212024012310193010595692229128003584");
|
||
list.add("002212024012310380110595696888347742208");
|
||
list.add("002212024012310432410595698241543426048");
|
||
list.add("002212024012311053510595703823514669056");
|
||
list.add("002212024012311245610595708694451650560");
|
||
list.add("002212024012311315210595710439904735232");
|
||
list.add("002212024012311383110595712112592482304");
|
||
list.add("002212024012311490510595714772350468096");
|
||
list.add("002212024012311511010595715295151476736");
|
||
list.add("002212024012311544310595716188244660224");
|
||
list.add("002212024012311575210595716983442722816");
|
||
list.add("002212024012312024910595718226422726656");
|
||
list.add("002212024012312143910595721204777025536");
|
||
list.add("002212024012312175910595722045032361984");
|
||
list.add("002212024012312200610595722577818021888");
|
||
list.add("002212024012312215310595723025385979904");
|
||
list.add("002212024012312250110595723814212640768");
|
||
list.add("002212024012312272810595724429547700224");
|
||
list.add("002212024012312292210595724908896313344");
|
||
list.add("002212024012312334310595726003935236096");
|
||
list.add("002212024012312390010595727335123210240");
|
||
list.add("002212024012312392810595727452335333376");
|
||
list.add("002212024012312523010595730729607188480");
|
||
list.add("002212024012312530710595730885509500928");
|
||
list.add("002212024012312570310595731878287183872");
|
||
list.add("002212024012313011310595732926178697216");
|
||
list.add("002212024012313074010595734547967365120");
|
||
list.add("002212024012313195410595737627764256768");
|
||
list.add("002212024012313201810595737727450120192");
|
||
list.add("002212024012313210210595737912599281664");
|
||
list.add("002212024012313235210595738624834818048");
|
||
list.add("002212024012313304710595740363811840000");
|
||
list.add("002212024012313390810595742466663899136");
|
||
list.add("002212024012313421910595743269066240000");
|
||
list.add("002212024012313440910595743729209249792");
|
||
list.add("002212024012313495810595745194951987200");
|
||
list.add("002212024012313563410595746854281760768");
|
||
list.add("002212024012313565510595746941793820672");
|
||
list.add("002212024012313571810595747040685060096");
|
||
list.add("002212024012314011210595748019559104512");
|
||
list.add("002212024012314041110595748772247441408");
|
||
list.add("002212024012314062410595749329218719744");
|
||
list.add("002212024012314084610595749926391336960");
|
||
list.add("002212024012314111910595750567244300288");
|
||
list.add("002212024012314114110595750657336766464");
|
||
list.add("002212024012314150810595751526089682944");
|
||
list.add("002212024012314182610595752356621438976");
|
||
list.add("002212024012314224410595753437454340096");
|
||
list.add("002212024012314255110595754225586532352");
|
||
list.add("002212024012314293110595755147040067584");
|
||
list.add("002212024012314335710595756262523076608");
|
||
list.add("002212024012314342210595756364997165056");
|
||
list.add("002212024012314351810595756601546502144");
|
||
list.add("002212024012314393910595757696865394688");
|
||
list.add("002212024012314403310595757921717837824");
|
||
list.add("002212024012314424510595758476037365760");
|
||
list.add("002212024012314481710595759868498112512");
|
||
list.add("002212024012314505910595760547593678848");
|
||
list.add("002212024012314510010595760552406278144");
|
||
list.add("002212024012314522010595760889876381696");
|
||
list.add("002212024012314552210595761650384404480");
|
||
list.add("002212024012315040310595763836794900480");
|
||
list.add("002212024012315064910595764531914207232");
|
||
list.add("002212024012315092110595765171830542336");
|
||
list.add("002212024012315132010595766174780129280");
|
||
list.add("002212024012315161410595766901537603584");
|
||
list.add("002212024012315174810595767299350560768");
|
||
list.add("002212024012315200310595767864378982400");
|
||
list.add("002212024012315221810595768427721162752");
|
||
list.add("002212024012315292010595770198051381248");
|
||
list.add("002212024012315400310595772896417542144");
|
||
list.add("002212024012315414310595773316629651456");
|
||
list.add("002212024012315431510595773701260402688");
|
||
list.add("002212024012315490410595775166425190400");
|
||
list.add("002212024012315535610595776391314841600");
|
||
list.add("002212024012316000810595777952629030912");
|
||
list.add("002212024012316030410595778689090252800");
|
||
list.add("002212024012316051010595779217271255040");
|
||
list.add("002212024012316054610595779368650739712");
|
||
list.add("002212024012316104410595780616733491200");
|
||
list.add("002212024012316104810595780636815978496");
|
||
list.add("002212024012316295910595785462051176448");
|
||
list.add("002212024012316301310595785522788786176");
|
||
list.add("002212024012316302010595785549085011968");
|
||
list.add("002212024012316345010595786683216261120");
|
||
list.add("002212024012316433110595788867042705408");
|
||
list.add("002212024012316463810595789651890270208");
|
||
list.add("002212024012316491310595790304902479872");
|
||
list.add("002212024012316594110595792936277757952");
|
||
list.add("002212024012317155810595797034232274944");
|
||
list.add("002212024012317251410595799366755852288");
|
||
list.add("002212024012317420710595803616864206848");
|
||
list.add("002212024012318022310595808717436706816");
|
||
list.add("002212024012318114210595811061513711616");
|
||
list.add("002212024012318251210595814458935386112");
|
||
list.add("002212024012318263410595814801658466304");
|
||
list.add("002212024012318295310595815634929287168");
|
||
list.add("002212024012318321310595816222202089472");
|
||
list.add("002212024012318332910595816541162164224");
|
||
list.add("002212024012318533010595821580860846080");
|
||
list.add("002212024012318540110595821708316708864");
|
||
list.add("002212024012319070310595824987907182592");
|
||
list.add("002212024012319135710595826725766787072");
|
||
list.add("002212024012319273410595830151636545536");
|
||
list.add("002212024012319323110595831398232162304");
|
||
list.add("002212024012319334110595831694397952000");
|
||
list.add("002212024012319352810595832140214915072");
|
||
list.add("002212024012319370510595832549482557440");
|
||
list.add("002212024012319375610595832761309659136");
|
||
list.add("002212024012319442510595834392763604992");
|
||
list.add("002212024012319453610595834689931345920");
|
||
list.add("002212024012319491510595835608747147264");
|
||
list.add("002212024012319560010595837307293466624");
|
||
list.add("002212024012320111610595841151578497025");
|
||
list.add("002212024012320121110595841381690417152");
|
||
list.add("002212024012320153310595842226880110592");
|
||
list.add("002212024012320234510595844291292499968");
|
||
list.add("002212024012320314310595846297093894144");
|
||
list.add("002212024012320332510595846724557570048");
|
||
list.add("002212024012320413810595848794648961024");
|
||
list.add("002212024012320414110595848804938711040");
|
||
list.add("002212024012320421910595848963638104064");
|
||
list.add("002212024012320474710595850339450155008");
|
||
list.add("002212024012320502410595850999350812672");
|
||
list.add("002212024012320565110595852620036460544");
|
||
list.add("002212024012321002310595853509312794624");
|
||
list.add("002212024012321013510595853811925245952");
|
||
list.add("002212024012321082110595855514467160064");
|
||
list.add("002212024012321163810595857602014171136");
|
||
list.add("002212024012321253810595859867186855936");
|
||
list.add("002212024012321270310595860223395491840");
|
||
list.add("002212024012321275210595860427221848064");
|
||
list.add("002212024012321300110595860968004059136");
|
||
list.add("002212024012321302910595861085467570176");
|
||
list.add("002212024012321340710595862002436866048");
|
||
list.add("002212024012321342710595862084439597056");
|
||
list.add("002212024012321343010595862097548079104");
|
||
list.add("002212024012321371310595862780230463488");
|
||
list.add("002212024012321411610595863800376623104");
|
||
list.add("002212024012321440510595864508840865792");
|
||
list.add("002212024012321443410595864629639733248");
|
||
list.add("002212024012321464210595865165357031424");
|
||
list.add("002212024012321530810595866785551020032");
|
||
list.add("002212024012322010410595868783099420672");
|
||
list.add("002212024012322041910595869602341572608");
|
||
list.add("002212024012322153210595872425304453120");
|
||
list.add("002212024012322194710595873494227021824");
|
||
list.add("002212024012322200010595873546154377216");
|
||
list.add("002212024012322200710595873577543528448");
|
||
list.add("002212024012322213510595873947539009536");
|
||
list.add("002212024012322221510595874114745782272");
|
||
list.add("002212024012322243710595874710796832768");
|
||
list.add("002212024012322252510595874912489590784");
|
||
list.add("002212024012322274210595875486634020864");
|
||
list.add("002212024012322385210595878295954321408");
|
||
list.add("002212024012322395210595878546128621568");
|
||
list.add("002212024012322414610595879027262455808");
|
||
list.add("002212024012322435810595879580448026624");
|
||
list.add("002212024012322452910595879961207107584");
|
||
list.add("002212024012322492710595880958720638976");
|
||
list.add("002212024012322502110595881184813473792");
|
||
list.add("002212024012323065310595885345772576768");
|
||
list.add("002212024012323071510595885439766618112");
|
||
list.add("002212024012323082210595885719943704576");
|
||
list.add("002212024012323095810595886121637203968");
|
||
list.add("002212024012323102610595886239530504192");
|
||
list.add("002212024012323121310595886686215491584");
|
||
list.add("002212024012323140210595887144258850816");
|
||
list.add("002212024012323184610595888336194068480");
|
||
list.add("002212024012323200210595888656592863232");
|
||
list.add("002212024012323231210595889453104304128");
|
||
list.add("002212024012323253810595890063789096960");
|
||
list.add("002212024012323302110595891250544570368");
|
||
list.add("002212024012323360810595892705027252224");
|
||
list.add("002212024012323374510595893113266757632");
|
||
list.add("002212024012323425410595894409451925504");
|
||
list.add("002212024012323442710595894800180465664");
|
||
list.add("002212024012323452610595895048568954880");
|
||
list.add("002212024012323461610595895257464655872");
|
||
list.add("002212024012323493110595896075039363072");
|
||
list.add("002212024012323495410595896172860530688");
|
||
list.add("002212024012400003310595898850435289088");
|
||
list.add("002212024012400024810595899418145021952");
|
||
list.add("002212024012400101510595901293923782656");
|
||
list.add("002212024012400105810595901474398183424");
|
||
list.add("002212024012400131010595902027414274048");
|
||
list.add("002212024012400134110595902158309625856");
|
||
list.add("002212024012400224210595904423904874496");
|
||
list.add("002212024012400240510595904772956311552");
|
||
list.add("002212024012400270910595905543972257792");
|
||
list.add("002212024012400311310595906567774523392");
|
||
list.add("002212024012400324110595906938400002048");
|
||
list.add("002212024012400461710595910360280977408");
|
||
list.add("002212024012400464310595910470879576064");
|
||
list.add("002212024012400482310595910889996406784");
|
||
list.add("002212024012400501810595911373670805504");
|
||
list.add("002212024012400503510595911442015653888");
|
||
list.add("002212024012400560610595912833145991168");
|
||
list.add("002212024012400562510595912911242596352");
|
||
list.add("002212024012400590810595913595867516928");
|
||
list.add("002212024012401053210595915206301155328");
|
||
list.add("002212024012401131110595917132325552128");
|
||
list.add("002212024012401251510595920166320304128");
|
||
list.add("002212024012401282810595920975199531008");
|
||
list.add("002212024012401302210595921455332319232");
|
||
list.add("002212024012401332010595922200864083968");
|
||
list.add("002212024012401363310595923010112868352");
|
||
list.add("002212024012401404110595924051456098304");
|
||
list.add("002212024012401443210595925018746200064");
|
||
list.add("002212024012401481310595925947733344256");
|
||
list.add("002212024012401521710595926968413577216");
|
||
list.add("002212024012401552210595927746547634176");
|
||
list.add("002212024012401561510595927966886035456");
|
||
list.add("002212024012402022110595929505387073536");
|
||
list.add("002212024012402160810595932974146973696");
|
||
list.add("002212024012402203410595934088049872896");
|
||
list.add("002212024012402293610595936360154877952");
|
||
list.add("002212024012402323710595937119997198336");
|
||
list.add("002212024012402521310595942054462652416");
|
||
list.add("002212024012403041810595945094157033472");
|
||
list.add("002212024012403043910595945183652511744");
|
||
list.add("002212024012403064710595945717049237504");
|
||
list.add("002212024012403105110595946741463154688");
|
||
list.add("002212024012403115610595947015502360576");
|
||
list.add("002212024012403254510595950492990242816");
|
||
list.add("002212024012403373910595953488006336512");
|
||
list.add("002212024012404031710595959939080540160");
|
||
list.add("002212024012404094410595961560440889344");
|
||
list.add("002212024012404190110595963896483979264");
|
||
list.add("002212024012404260810595965688332591104");
|
||
list.add("002212024012404433610595970082219814912");
|
||
list.add("002212024012404451710595970507260731392");
|
||
list.add("002212024012404562210595973295369789440");
|
||
list.add("002212024012405005310595974433766809600");
|
||
list.add("002212024012405021910595974794384965632");
|
||
list.add("002212024012405183210595978876745019392");
|
||
list.add("002212024012405304310595981939090214912");
|
||
list.add("002212024012405381410595983831633092608");
|
||
list.add("002212024012405414310595984710426292224");
|
||
list.add("002212024012406290010595996606340419584");
|
||
list.add("002212024012406400410595999395040948224");
|
||
list.add("002212024012407183710596009093261815808");
|
||
list.add("002212024012407470010596016236782284800");
|
||
list.add("002212024012407474910596016442392281088");
|
||
list.add("002212024012408055510596020998708334592");
|
||
list.add("002212024012408410710596029854709248000");
|
||
list.add("002212024012409180410596039156271271936");
|
||
list.add("002212024012409183910596039301595484160");
|
||
list.add("002212024012409252210596040992663359488");
|
||
list.add("002212024012409413510596045073053446144");
|
||
list.add("002212024012410240410596055763852611584");
|
||
list.add("002212024012410330010596058013689860096");
|
||
list.add("002212024012410385610596059504934821888");
|
||
list.add("002212024012410572810596064171007049728");
|
||
list.add("002212024012411131610596068144381054976");
|
||
list.add("002212024012411170310596069100145725440");
|
||
list.add("002212024012411243810596071004954329088");
|
||
list.add("002212024012411273210596071737271578624");
|
||
list.add("002212024012411314110596072781275627520");
|
||
list.add("002212024012411351210596073667398004736");
|
||
list.add("002212024012411491810596077214982111232");
|
||
list.add("002212024012411572910596079274879287296");
|
||
list.add("002212024012412015310596080380105543680");
|
||
list.add("002212024012412104710596082619393306624");
|
||
list.add("002212024012412164610596084126972805120");
|
||
list.add("002212024012412221610596085510179770368");
|
||
list.add("002212024012412253810596086356365402112");
|
||
list.add("002212024012412405410596090198266597376");
|
||
list.add("002212024012412433910596090890226094080");
|
||
list.add("002212024012412581410596094563861778432");
|
||
list.add("002212024012413015910596095505213100032");
|
||
list.add("002212024012413045210596096232899149824");
|
||
list.add("002212024012413053810596096423282204672");
|
||
list.add("002212024012413083810596097178038272000");
|
||
list.add("002212024012413100510596097542523838464");
|
||
list.add("002212024012413161310596099088167297024");
|
||
list.add("002212024012413190110596099792573427712");
|
||
list.add("002212024012413221710596100612475932672");
|
||
list.add("002212024012413240710596101077892714496");
|
||
list.add("002212024012413302710596102669426589696");
|
||
list.add("002212024012413310110596102811337711616");
|
||
list.add("002212024012413313110596102936819339264");
|
||
list.add("002212024012413335910596103559919820800");
|
||
list.add("002212024012413442210596106173938520064");
|
||
list.add("002212024012413450310596106345414217728");
|
||
list.add("002212024012413475410596107063074422784");
|
||
list.add("002212024012413504610596107783276187648");
|
||
list.add("002212024012413522310596108188905308160");
|
||
list.add("002212024012414013810596110516212527104");
|
||
list.add("002212024012414080810596112152818053120");
|
||
list.add("002212024012414084510596112307070636032");
|
||
list.add("002212024012414154110596114054089998336");
|
||
list.add("002212024012414212310596115486918483968");
|
||
list.add("002212024012414251910596116476434776064");
|
||
list.add("002212024012414264610596116843331518464");
|
||
list.add("002212024012414270710596116930981916672");
|
||
list.add("002212024012414274710596117097629151232");
|
||
list.add("002212024012414285810596117395249426432");
|
||
list.add("002212024012414334610596118605242363904");
|
||
list.add("002212024012414353110596119044177121280");
|
||
list.add("002212024012414424510596120863262699520");
|
||
list.add("002212024012414440110596121183926480896");
|
||
list.add("002212024012414534910596123650806140928");
|
||
list.add("002212024012414552410596124049462226944");
|
||
list.add("002212024012415001410596125266336899072");
|
||
list.add("002212024012415020710596125738349064192");
|
||
list.add("002212024012415022310596125804434640896");
|
||
list.add("002212024012415033210596126092828205056");
|
||
list.add("002212024012415044410596126398605549568");
|
||
list.add("002212024012415104210596127897259728896");
|
||
list.add("002212024012415110510596127994359480320");
|
||
list.add("002212024012415114610596128168455036928");
|
||
list.add("002212024012415161710596129301591851008");
|
||
list.add("002212024012415222910596130862832373760");
|
||
list.add("002212024012415250210596131506540400640");
|
||
list.add("002212024012415314510596133195975430144");
|
||
list.add("002212024012415355910596134262811754496");
|
||
list.add("002212024012415405810596135515831861248");
|
||
list.add("002212024012415435510596136256187224064");
|
||
list.add("002212024012415463410596136922839351296");
|
||
list.add("002212024012415513910596138201836769280");
|
||
list.add("002212024012415525010596138502270611456");
|
||
list.add("002212024012416011510596140621072596992");
|
||
list.add("002212024012416022010596140890691694592");
|
||
list.add("002212024012416030410596141075835973632");
|
||
list.add("002212024012416084410596142503412301824");
|
||
list.add("002212024012416085410596142544638009344");
|
||
list.add("002212024012416092010596142652977516544");
|
||
list.add("002212024012416200610596145361705664512");
|
||
list.add("002212024012416245310596146567282364416");
|
||
list.add("002212024012416282110596147439136047104");
|
||
list.add("002212024012416341610596148927923609600");
|
||
list.add("002212024012416345410596149087636779008");
|
||
list.add("002212024012416362210596149456771944448");
|
||
list.add("002212024012416455710596151870845026304");
|
||
list.add("002212024012416463410596152021953744896");
|
||
list.add("002212024012416483810596152544156647424");
|
||
list.add("002212024012416542710596154007042977792");
|
||
list.add("002212024012417010710596155687546089472");
|
||
list.add("002212024012417045210596156628253143040");
|
||
list.add("002212024012417124210596158601898168320");
|
||
list.add("002212024012417162210596159523788775424");
|
||
list.add("002212024012417323210596163592295108608");
|
||
list.add("002212024012417341410596164019950579712");
|
||
list.add("002212024012417375110596164929401507840");
|
||
list.add("002212024012417474510596167422092148736");
|
||
list.add("002212024012417590110596170255945297920");
|
||
list.add("002212024012418005410596170729959518208");
|
||
list.add("002212024012418202810596175653293117440");
|
||
list.add("002212024012418351010596179355514871808");
|
||
list.add("002212024012418393610596180470929412096");
|
||
list.add("002212024012418395510596180551245983744");
|
||
list.add("002212024012419001210596185653528645632");
|
||
list.add("002212024012419010810596185890123350016");
|
||
list.add("002212024012419043410596186754013351936");
|
||
list.add("002212024012419120310596188635666206720");
|
||
list.add("002212024012419224210596191317736677376");
|
||
list.add("002212024012419262410596192246100328448");
|
||
list.add("002212024012419341110596194206796861440");
|
||
list.add("002212024012419413710596196078475669504");
|
||
list.add("002212024012419423910596196335687004160");
|
||
list.add("002212024012419462610596197291069075457");
|
||
list.add("002212024012419535210596199157847154688");
|
||
list.add("002212024012420010510596200974375649280");
|
||
list.add("002212024012420015410596201181869731840");
|
||
list.add("002212024012420160710596204759901634560");
|
||
list.add("002212024012420244510596206930956013568");
|
||
list.add("002212024012420281510596207810812170240");
|
||
list.add("002212024012420331210596209057275441152");
|
||
list.add("002212024012420392910596210638573948928");
|
||
list.add("002212024012420450210596212037279670272");
|
||
list.add("002212024012420481010596212824711528448");
|
||
list.add("002212024012420493610596213186622214144");
|
||
list.add("002212024012420541810596214366198951936");
|
||
list.add("002212024012420591710596215623235817472");
|
||
list.add("002212024012420592810596215669408522240");
|
||
list.add("002212024012421013910596216219838050304");
|
||
list.add("002212024012421020710596216334917128192");
|
||
list.add("002212024012421031810596216634688106496");
|
||
list.add("002212024012421041310596216865513238528");
|
||
list.add("002212024012421053110596217191970832384");
|
||
list.add("002212024012421071710596217635863429120");
|
||
list.add("002212024012421104810596218519130296320");
|
||
list.add("002212024012421132510596219180126629888");
|
||
list.add("002212024012421152210596219670938427392");
|
||
list.add("002212024012421172610596220190358142976");
|
||
list.add("002212024012421173610596220232933220352");
|
||
list.add("002212024012421190610596220609560436736");
|
||
list.add("002212024012421232910596221712071589888");
|
||
list.add("002212024012421300410596223367865081856");
|
||
list.add("002212024012421352010596224695679176704");
|
||
list.add("002212024012421380210596225372135034880");
|
||
list.add("002212024012421381110596225413853040640");
|
||
list.add("002212024012421494610596228327226048512");
|
||
list.add("002212024012421513010596228761995018240");
|
||
list.add("002212024012421541110596229436324827136");
|
||
list.add("002212024012421582310596230496074420224");
|
||
list.add("002212024012421594510596230839530807296");
|
||
list.add("002212024012422015410596231381615837184");
|
||
list.add("002212024012422065110596232626785046528");
|
||
list.add("002212024012422143610596234575051878400");
|
||
list.add("002212024012422161710596235001508757504");
|
||
list.add("002212024012422194510596235871079231488");
|
||
list.add("002212024012422201910596236014819909632");
|
||
list.add("002212024012422242210596237032775602176");
|
||
list.add("002212024012422273910596237862566297600");
|
||
list.add("002212024012422294810596238403157557248");
|
||
list.add("002212024012422305910596238698814046208");
|
||
list.add("002212024012422322210596239049153466368");
|
||
list.add("002212024012422322610596239062372016128");
|
||
list.add("002212024012422432110596241811450777600");
|
||
list.add("002212024012422445110596242190531973120");
|
||
list.add("002212024012422485710596243220031664128");
|
||
list.add("002212024012422493910596243398781161472");
|
||
list.add("002212024012422500410596243502414024704");
|
||
list.add("002212024012422504010596243654419566592");
|
||
list.add("002212024012422525810596244231759421440");
|
||
list.add("002212024012422562510596245098158981120");
|
||
list.add("002212024012422572010596245332564176896");
|
||
list.add("002212024012422572710596245361245638656");
|
||
list.add("002212024012422590810596245783509114880");
|
||
list.add("002212024012423024710596246700133613568");
|
||
list.add("002212024012423082910596248135290998784");
|
||
list.add("002212024012423171610596250344875749376");
|
||
list.add("002212024012423191110596250828489269248");
|
||
list.add("002212024012423235710596252028151627776");
|
||
list.add("002212024012423281110596253096039878656");
|
||
list.add("002212024012423293610596253451184668672");
|
||
list.add("002212024012423323710596254209563000832");
|
||
list.add("002212024012423331910596254385353412608");
|
||
list.add("002212024012423405010596256278308126720");
|
||
list.add("002212024012423450710596257354631237632");
|
||
list.add("002212024012423464110596257750605299712");
|
||
list.add("002212024012423495510596258562994700288");
|
||
list.add("002212024012500133610596264522134974464");
|
||
list.add("002212024012500165510596265356335902720");
|
||
list.add("002212024012500183310596265769405423616");
|
||
list.add("002212024012500230910596266928956592128");
|
||
list.add("002212024012500245210596267357111185408");
|
||
list.add("002212024012500252810596267510273572864");
|
||
list.add("002212024012500271910596267975571267584");
|
||
list.add("002212024012500411010596271462427332608");
|
||
list.add("002212024012500424510596271859151228928");
|
||
list.add("002212024012500474010596273098264084480");
|
||
list.add("002212024012500553810596275101703925760");
|
||
list.add("002212024012500570910596275485068316672");
|
||
list.add("002212024012501024310596276884505423872");
|
||
list.add("002212024012501062710596277822794932224");
|
||
list.add("002212024012501070610596277986844856320");
|
||
list.add("002212024012501094010596278631837564928");
|
||
list.add("002212024012501182910596280850736369664");
|
||
list.add("002212024012501230610596282013614280704");
|
||
list.add("002212024012501274510596283184855769088");
|
||
list.add("002212024012501301910596283829623345152");
|
||
list.add("002212024012501312410596284101791805440");
|
||
list.add("002212024012501370310596285522947756032");
|
||
list.add("002212024012501390710596286044755132416");
|
||
list.add("002212024012501433610596287171380768768");
|
||
list.add("002212024012501512010596289118762553344");
|
||
list.add("002212024012501553810596290202555998208");
|
||
list.add("002212024012501581210596290847816220672");
|
||
list.add("002212024012502031810596292129053310976");
|
||
list.add("002212024012502052610596292666851164160");
|
||
list.add("002212024012502185310596296050601721856");
|
||
list.add("002212024012502193710596296235481387008");
|
||
list.add("002212024012502230710596297117048393728");
|
||
list.add("002212024012502364210596300537304096768");
|
||
list.add("002212024012502434910596302328511266816");
|
||
list.add("002212024012502503810596304040819097600");
|
||
list.add("002212024012502535610596304871938387968");
|
||
list.add("002212024012502561310596305448811229184");
|
||
list.add("002212024012503034110596307324449288192");
|
||
list.add("002212024012503041010596307449664069632");
|
||
list.add("002212024012503100310596308928939524096");
|
||
list.add("002212024012503172210596310770871300096");
|
||
list.add("002212024012503205410596311658262892544");
|
||
list.add("002212024012503310510596314221402066944");
|
||
list.add("002212024012503312910596314321585537024");
|
||
list.add("002212024012503340210596314965498261504");
|
||
list.add("002212024012503344210596315130685878272");
|
||
list.add("002212024012503375710596315951184859136");
|
||
list.add("002212024012503392310596316311260819456");
|
||
list.add("002212024012503393010596316339713695744");
|
||
list.add("002212024012503413510596316864347762688");
|
||
list.add("002212024012503445810596317715682414592");
|
||
list.add("002212024012503552110596320328986492928");
|
||
list.add("002212024012504145210596325239952568320");
|
||
list.add("002212024012504145710596325260917571584");
|
||
list.add("002212024012504343910596330219716333568");
|
||
list.add("002212024012504411510596331879384158208");
|
||
list.add("002212024012504510710596334362199715840");
|
||
list.add("002212024012505035010596337564303314944");
|
||
list.add("002212024012505054010596338023422140416");
|
||
list.add("002212024012505175410596341101813923840");
|
||
list.add("002212024012505290110596343900293464064");
|
||
list.add("002212024012505393210596346546505183232");
|
||
list.add("002212024012505450310596347937385259008");
|
||
list.add("002212024012505470610596348450432524288");
|
||
list.add("002212024012505491010596348972592091136");
|
||
list.add("002212024012506105810596354458192072704");
|
||
list.add("002212024012506450710596363050202918912");
|
||
list.add("002212024012508172910596386298111844352");
|
||
list.add("002212024012508202110596387019505397760");
|
||
list.add("002212024012508314610596389891169144832");
|
||
list.add("002212024012508425910596392712979312640");
|
||
list.add("002212024012509143510596400666094772224");
|
||
list.add("002212024012509181510596401590933749760");
|
||
list.add("002212024012509271610596403856830988288");
|
||
list.add("002212024012509582210596411687006834688");
|
||
list.add("002212024012509593710596412001463685120");
|
||
list.add("002212024012510053510596413500157501440");
|
||
list.add("002212024012510132910596415491319619584");
|
||
list.add("002212024012510505710596424918450995200");
|
||
list.add("002212024012510513010596425056230699008");
|
||
list.add("002212024012510571710596426510325612544");
|
||
list.add("002212024012511140510596430739352997888");
|
||
list.add("002212024012511175610596431707014602752");
|
||
list.add("002212024012511261810596433814552514560");
|
||
list.add("002212024012511284110596434414019219456");
|
||
list.add("002212024012511313710596435153651822592");
|
||
list.add("002212024012511320010596435247974174720");
|
||
list.add("002212024012511331610596435568951644160");
|
||
list.add("002212024012511344510596435938674536448");
|
||
list.add("002212024012511371510596436569352929280");
|
||
list.add("002212024012511481010596439316381716480");
|
||
list.add("002212024012512004610596442486566899712");
|
||
list.add("002212024012512055710596443792694136832");
|
||
list.add("002212024012512072010596444142271139840");
|
||
list.add("002212024012512073810596444214462373888");
|
||
list.add("002212024012512200110596447331587846144");
|
||
list.add("002212024012512310710596450127617630208");
|
||
list.add("002212024012512324710596450544893620224");
|
||
list.add("002212024012512335610596450835475615744");
|
||
list.add("002212024012512363010596451481409118208");
|
||
list.add("002212024012512395310596452331415306240");
|
||
list.add("002212024012512413410596452757691822080");
|
||
list.add("002212024012512430210596453123189547008");
|
||
list.add("002212024012512481810596454448402329600");
|
||
list.add("002212024012512532410596455733763407872");
|
||
list.add("002212024012513005910596457640173625344");
|
||
list.add("002212024012513065310596459127132508160");
|
||
list.add("002212024012513111410596460222621798400");
|
||
list.add("002212024012513120310596460425195986944");
|
||
list.add("002212024012513164810596461623852261376");
|
||
list.add("002212024012513183210596462060270718976");
|
||
list.add("002212024012513215110596462892275331072");
|
||
list.add("002212024012513254710596463883090718720");
|
||
list.add("002212024012513330910596465736392810497");
|
||
list.add("002212024012513341510596466014275915776");
|
||
list.add("002212024012513443410596468611305295872");
|
||
list.add("002212024012513462510596469074489831424");
|
||
list.add("002212024012513464910596469175820709888");
|
||
list.add("002212024012513483510596469620905205760");
|
||
list.add("002212024012513502910596470097049374720");
|
||
list.add("002212024012513514310596470411269853184");
|
||
list.add("002212024012513531710596470803693162496");
|
||
list.add("002212024012513583710596472143980388352");
|
||
list.add("002212024012513593210596472377701978112");
|
||
list.add("002212024012514023210596473130132561920");
|
||
list.add("002212024012514041210596473549327532032");
|
||
list.add("002212024012514091910596474839154683904");
|
||
list.add("002212024012514115210596475478988939264");
|
||
list.add("002212024012514170510596476793248382976");
|
||
list.add("002212024012514185510596477253318541312");
|
||
list.add("002212024012514234110596478453482672128");
|
||
list.add("002212024012514254110596478958621597696");
|
||
list.add("002212024012514263210596479171810496512");
|
||
list.add("002212024012514271910596479367086198784");
|
||
list.add("002212024012514322210596480638478385152");
|
||
list.add("002212024012514410010596482813555212288");
|
||
list.add("002212024012514412510596482917786603520");
|
||
list.add("002212024012514420310596483076107100160");
|
||
list.add("002212024012514431010596483358254858240");
|
||
list.add("002212024012514465810596484313060835328");
|
||
list.add("002212024012514474510596484511467163648");
|
||
list.add("002212024012514510210596485336725606400");
|
||
list.add("002212024012514531010596485873509695488");
|
||
list.add("002212024012514570010596486839190331392");
|
||
list.add("002212024012515014310596488024325943296");
|
||
list.add("002212024012515030510596488368559398912");
|
||
list.add("002212024012515042510596488703979352064");
|
||
list.add("002212024012515064710596489302294495232");
|
||
list.add("002212024012515073210596489490269556736");
|
||
list.add("002212024012515174610596492063045255168");
|
||
list.add("002212024012515194810596492574315151360");
|
||
list.add("002212024012515210210596492887708864512");
|
||
list.add("002212024012515265910596494385225752576");
|
||
list.add("002212024012515303310596495283008770048");
|
||
list.add("002212024012515314810596495597611577344");
|
||
list.add("002212024012515332210596495991251202048");
|
||
list.add("002212024012515363710596496808264716288");
|
||
list.add("002212024012515470110596499427231965184");
|
||
list.add("002212024012515505810596500420775317504");
|
||
list.add("002212024012515522310596500776076144640");
|
||
list.add("002212024012515535710596501168707801088");
|
||
list.add("002212024012515551710596501506746916864");
|
||
list.add("002212024012515563310596501825583280128");
|
||
list.add("002212024012515582510596502296219787264");
|
||
list.add("002212024012516044710596503896416186368");
|
||
list.add("002212024012516152610596506578186203136");
|
||
list.add("002212024012516202610596507835310104576");
|
||
list.add("002212024012516275910596509734142648320");
|
||
list.add("002212024012516294110596510162891931648");
|
||
list.add("002212024012516341110596511293850419200");
|
||
list.add("002212024012516455310596514237940146176");
|
||
list.add("002212024012516461610596514337539391488");
|
||
list.add("002212024012516470510596514541091545088");
|
||
list.add("002212024012516475810596514765485232128");
|
||
list.add("002212024012517045010596519009464549376");
|
||
list.add("002212024012517104410596520492359581696");
|
||
list.add("002212024012517133010596521190524616704");
|
||
list.add("002212024012517160710596521849838231552");
|
||
list.add("002212024012517214310596523257530540032");
|
||
list.add("002212024012517244610596524025338261504");
|
||
list.add("002212024012517320010596525844669521920");
|
||
list.add("002212024012518314310596540873409658880");
|
||
list.add("002212024012518340410596541465895170048");
|
||
list.add("002212024012518491610596545290486276096");
|
||
list.add("002212024012519062410596549602824802304");
|
||
list.add("002212024012519084910596550208473755648");
|
||
list.add("002212024012519160810596552050467315712");
|
||
list.add("002212024012519285810596555282065588224");
|
||
list.add("002212024012519292110596555377330814976");
|
||
list.add("002212024012519375810596557545104175104");
|
||
list.add("002212024012519551210596561884610711552");
|
||
list.add("002212024012520024010596563761675227136");
|
||
list.add("002212024012520032910596563969299537920");
|
||
list.add("002212024012520092210596565446757838848");
|
||
list.add("002212024012520233310596569019589189632");
|
||
list.add("002212024012520271710596569956582313984");
|
||
list.add("002212024012520284210596570313443344384");
|
||
list.add("002212024012520340010596571646318518272");
|
||
list.add("002212024012520413910596573573571846144");
|
||
list.add("002212024012520421810596573737971474432");
|
||
list.add("002212024012520533710596576586161356800");
|
||
list.add("002212024012520552310596577029772890112");
|
||
list.add("002212024012520584310596577868603359232");
|
||
list.add("002212024012521004610596578383249502208");
|
||
list.add("002212024012521020110596578696491859968");
|
||
list.add("002212024012521022210596578786252546048");
|
||
list.add("002212024012521022410596578796204052480");
|
||
list.add("002212024012521035810596579188092526592");
|
||
list.add("002212024012521040010596579196230758400");
|
||
list.add("002212024012521071310596580007874719744");
|
||
list.add("002212024012521114110596581130455830528");
|
||
list.add("002212024012521180310596582731222261760");
|
||
list.add("002212024012521231510596584042150055936");
|
||
list.add("002212024012521264910596584937587863552");
|
||
list.add("002212024012521273910596585150611357696");
|
||
list.add("002212024012521284810596585436567392256");
|
||
list.add("002212024012521290310596585502662844416");
|
||
list.add("002212024012521364810596587451672027136");
|
||
list.add("002212024012521382210596587845656076288");
|
||
list.add("002212024012521452410596589613867487232");
|
||
list.add("002212024012521534410596591714697965568");
|
||
list.add("002212024012521544410596591964940574720");
|
||
list.add("002212024012521575610596592770084827136");
|
||
list.add("002212024012521581110596592832616529920");
|
||
list.add("002212024012521584210596592962658594816");
|
||
list.add("002212024012522004110596593461977903104");
|
||
list.add("002212024012522025110596594007846780928");
|
||
list.add("002212024012522053310596594684901883904");
|
||
list.add("002212024012522090510596595577288777728");
|
||
list.add("002212024012522095710596595795070750720");
|
||
list.add("002212024012522100110596595812088541184");
|
||
list.add("002212024012522100310596595818325307392");
|
||
list.add("002212024012522102110596595895771267072");
|
||
list.add("002212024012522142610596596923780190208");
|
||
list.add("002212024012522164010596597485099896832");
|
||
list.add("002212024012522192710596598182925131776");
|
||
list.add("002212024012522213910596598740457820160");
|
||
list.add("002212024012522233210596599211535753216");
|
||
list.add("002212024012522362110596602437972938752");
|
||
list.add("002212024012522461910596604944134791168");
|
||
list.add("002212024012522471110596605164265730048");
|
||
list.add("002212024012522480110596605374396006400");
|
||
list.add("002212024012522493110596605753194020864");
|
||
list.add("002212024012522560010596607383241289728");
|
||
list.add("002212024012522595410596608364912664576");
|
||
list.add("002212024012522595510596608368084840448");
|
||
list.add("002212024012523002810596608505201643520");
|
||
list.add("002212024012523085110596610615410315264");
|
||
list.add("002212024012523090910596610693065957376");
|
||
list.add("002212024012523105510596611137634791424");
|
||
list.add("002212024012523140710596611940293705728");
|
||
list.add("002212024012523145310596612136810401792");
|
||
list.add("002212024012523152310596612260471066624");
|
||
list.add("002212024012523220110596613931343245312");
|
||
list.add("002212024012523243510596614578073698304");
|
||
list.add("002212024012523293410596615831488942080");
|
||
list.add("002212024012523295410596615913869234176");
|
||
list.add("002212024012523313310596616329544921088");
|
||
list.add("002212024012523370210596617711306866688");
|
||
list.add("002212024012523404410596618641859059712");
|
||
list.add("002212024012523423810596619117820469248");
|
||
list.add("002212024012523485210596620687716798464");
|
||
list.add("002212024012523550610596622257878892544");
|
||
list.add("002212024012600064010596625165415440384");
|
||
list.add("002212024012600065210596625216230068224");
|
||
list.add("002212024012600135210596626978091925504");
|
||
list.add("002212024012600171510596627829856727040");
|
||
list.add("002212024012600211410596628831931322368");
|
||
list.add("002212024012600211610596628842512547840");
|
||
list.add("002212024012600253810596629937864396800");
|
||
list.add("002212024012600313110596631418514038784");
|
||
list.add("002212024012600313110596631421246304256");
|
||
list.add("002212024012600344510596632234135326720");
|
||
list.add("002212024012600373110596632931238301696");
|
||
list.add("002212024012600384810596633253417492480");
|
||
list.add("002212024012600434310596634492427657216");
|
||
list.add("002212024012600525510596636806517268480");
|
||
list.add("002212024012600564110596637752559599616");
|
||
list.add("002212024012600582510596638188724674560");
|
||
list.add("002212024012601011510596638901423435776");
|
||
list.add("002212024012601043010596639721811021824");
|
||
list.add("002212024012601060810596640133061402624");
|
||
list.add("002212024012601115810596641599728013312");
|
||
list.add("002212024012601151210596642412487897088");
|
||
list.add("002212024012601163110596642744838037504");
|
||
list.add("002212024012601195210596643589321510912");
|
||
list.add("002212024012601200010596643620023783424");
|
||
list.add("002212024012601293110596646016742973440");
|
||
list.add("002212024012601325510596646873828335617");
|
||
list.add("002212024012601341110596647193045532672");
|
||
list.add("002212024012601344410596647328832704512");
|
||
list.add("002212024012601424010596649324074438656");
|
||
list.add("002212024012601455610596650148718047232");
|
||
list.add("002212024012601494810596651120103096320");
|
||
list.add("002212024012601522710596651786914586624");
|
||
list.add("002212024012601582210596653277358444544");
|
||
list.add("002212024012602171110596658012917981184");
|
||
list.add("002212024012602245410596659952741089280");
|
||
list.add("002212024012602294610596661179195650048");
|
||
list.add("002212024012602324310596661921523261440");
|
||
list.add("002212024012602354810596662696595017728");
|
||
list.add("002212024012602410210596664014761795584");
|
||
list.add("002212024012602414510596664194392715264");
|
||
list.add("002212024012602475010596665725794246656");
|
||
list.add("002212024012602535910596667275002683392");
|
||
list.add("002212024012602573410596668174979502080");
|
||
list.add("002212024012603005310596669010418397184");
|
||
list.add("002212024012603092810596671169845649408");
|
||
list.add("002212024012603105610596671540284846080");
|
||
list.add("002212024012603314210596676767064956928");
|
||
list.add("002212024012603361110596677892952641536");
|
||
list.add("002212024012603363610596677997013356544");
|
||
list.add("002212024012603433110596679740816183296");
|
||
list.add("002212024012603561510596682944089837568");
|
||
list.add("002212024012603565010596683091034890240");
|
||
list.add("002212024012604105310596686625712734208");
|
||
list.add("002212024012604150710596687693245927424");
|
||
list.add("002212024012604182310596688513636933632");
|
||
list.add("002212024012604444010596695126918987776");
|
||
list.add("002212024012605000510596699006858887168");
|
||
list.add("002212024012605292910596706406133256192");
|
||
list.add("002212024012605573410596713472532901888");
|
||
list.add("002212024012606090610596716377199206400");
|
||
list.add("002212024012606151710596717933854838784");
|
||
list.add("002212024012606234710596720071313944576");
|
||
list.add("002212024012607071410596731004975443968");
|
||
list.add("002212024012607143210596732844004929536");
|
||
list.add("002212024012607263910596735891924779008");
|
||
list.add("002212024012607305010596736944483192832");
|
||
list.add("002212024012608221710596749892085731328");
|
||
list.add("002212024012608280610596751357779050496");
|
||
list.add("002212024012609025910596760133634555904");
|
||
list.add("002212024012609092910596761772407562240");
|
||
list.add("002212024012610134310596777935577743360");
|
||
list.add("002212024012610270510596781300208259072");
|
||
list.add("002212024012610313210596782418495889408");
|
||
list.add("002212024012610351010596783334838702080");
|
||
list.add("002212024012610425910596785302000304128");
|
||
list.add("002212024012610590810596789364495282176");
|
||
list.add("002212024012610594610596789525555273728");
|
||
list.add("002212024012611013810596789993750622208");
|
||
list.add("002212024012611051310596790896446578688");
|
||
list.add("002212024012611072610596791453832118272");
|
||
list.add("002212024012611351110596798436935028736");
|
||
list.add("002212024012611400910596799688385318912");
|
||
list.add("002212024012611510510596802440628924416");
|
||
list.add("002212024012611511610596802486096199680");
|
||
list.add("002212024012612001110596804727217684480");
|
||
list.add("002212024012612084210596806873641213952");
|
||
list.add("002212024012612091710596807019856621568");
|
||
list.add("002212024012612111110596807498040954880");
|
||
list.add("002212024012612133110596808085669347328");
|
||
list.add("002212024012612133310596808094772002816");
|
||
list.add("002212024012612165710596808948016074752");
|
||
list.add("002212024012612165810596808951209828352");
|
||
list.add("002212024012612243210596810857573601280");
|
||
list.add("002212024012612430310596815518682664960");
|
||
list.add("002212024012612460210596816268927819776");
|
||
list.add("002212024012612490010596817013698924544");
|
||
list.add("002212024012612493010596817140970356736");
|
||
list.add("002212024012612562210596818868566953984");
|
||
list.add("002212024012612584610596819471879835648");
|
||
list.add("002212024012612591810596819606192906240");
|
||
list.add("002212024012613021210596820337470300160");
|
||
list.add("002212024012613033710596820691813490688");
|
||
list.add("002212024012613061710596821365051748352");
|
||
list.add("002212024012613091910596822125985722368");
|
||
list.add("002212024012613155810596823802456137728");
|
||
list.add("002212024012613203910596824979040227328");
|
||
list.add("002212024012613230410596825586092408832");
|
||
list.add("002212024012613235910596825817712283648");
|
||
list.add("002212024012613250810596826108432044032");
|
||
list.add("002212024012613264210596826502197301248");
|
||
list.add("002212024012613272410596826679611392000");
|
||
list.add("002212024012613403810596830006439927808");
|
||
list.add("002212024012613420010596830350737760256");
|
||
list.add("002212024012613421010596830392477372416");
|
||
list.add("002212024012613422410596830454578040832");
|
||
list.add("002212024012613425610596830588798173184");
|
||
list.add("002212024012613443410596830997314887680");
|
||
list.add("002212024012613462210596831450437640192");
|
||
list.add("002212024012614034810596835840145874944");
|
||
list.add("002212024012614044010596836055065657344");
|
||
list.add("002212024012614071310596836697954971648");
|
||
list.add("002212024012614073410596836784835743744");
|
||
list.add("002212024012614130010596838154710749184");
|
||
list.add("002212024012614132810596838271978479616");
|
||
list.add("002212024012614135310596838376027394048");
|
||
list.add("002212024012614143110596838534793256960");
|
||
list.add("002212024012614185810596839653146009600");
|
||
list.add("002212024012614205310596840137095344128");
|
||
list.add("002212024012614242410596841021615337472");
|
||
list.add("002212024012614255510596841402627956736");
|
||
list.add("002212024012614290910596842218957135872");
|
||
list.add("002212024012614344910596843643877421056");
|
||
list.add("002212024012614360010596843940616204288");
|
||
list.add("002212024012614361910596844019919478784");
|
||
list.add("002212024012614401210596844997656268800");
|
||
list.add("002212024012614442010596846037935738880");
|
||
list.add("002212024012614452010596846290241708032");
|
||
list.add("002212024012614475310596846934040637440");
|
||
list.add("002212024012614500010596847464112345088");
|
||
list.add("002212024012614544810596848672239865856");
|
||
list.add("002212024012614565210596849191033131008");
|
||
list.add("002212024012615011010596850276341055488");
|
||
list.add("002212024012615061810596851565027229696");
|
||
list.add("002212024012615073510596851888324730880");
|
||
list.add("002212024012615080910596852030635855872");
|
||
list.add("002212024012615133210596853385213108224");
|
||
list.add("002212024012615154510596853944172838912");
|
||
list.add("002212024012615165010596854219290824704");
|
||
list.add("002212024012615202810596855132275433472");
|
||
list.add("002212024012615255610596856509732900864");
|
||
list.add("002212024012615294110596857450572111872");
|
||
list.add("002212024012615371810596859366456578048");
|
||
list.add("002212024012615384410596859730363011072");
|
||
list.add("002212024012615444810596861257615843328");
|
||
list.add("002212024012615542110596863660429209600");
|
||
list.add("002212024012615591810596864906606084096");
|
||
list.add("002212024012616014710596865530116567040");
|
||
list.add("002212024012616140710596868635238010880");
|
||
list.add("002212024012616173110596869487696744448");
|
||
list.add("002212024012616224310596870797591957504");
|
||
list.add("002212024012616255110596871585648181248");
|
||
list.add("002212024012616284310596872306060816384");
|
||
list.add("002212024012616341010596873680724549632");
|
||
list.add("002212024012616400110596875151679856640");
|
||
list.add("002212024012616530910596878454825095168");
|
||
list.add("002212024012617053710596881592760078336");
|
||
list.add("002212024012617354110596889160251703296");
|
||
list.add("002212024012617431810596891077571047424");
|
||
list.add("002212024012618085710596897530502381568");
|
||
list.add("002212024012618111110596898092297023488");
|
||
list.add("002212024012618120510596898321659195392");
|
||
list.add("002212024012618213110596900696373456896");
|
||
list.add("002212024012618233510596901216592130048");
|
||
list.add("002212024012618353310596904224997335040");
|
||
list.add("002212024012618362210596904431560544256");
|
||
list.add("002212024012618372110596904679920041984");
|
||
list.add("002212024012618445810596906597647507456");
|
||
list.add("002212024012618465510596907084887711744");
|
||
list.add("002212024012618485410596907586795540480");
|
||
list.add("002212024012618572910596909747932135424");
|
||
list.add("002212024012619153410596914295840006144");
|
||
list.add("002212024012619284510596917615327571968");
|
||
list.add("002212024012619301710596918002318213120");
|
||
list.add("002212024012619370710596919721367138304");
|
||
list.add("002212024012619433910596921365423919104");
|
||
list.add("002212024012619435610596921435711537152");
|
||
list.add("002212024012619512610596923321100918784");
|
||
list.add("002212024012619594710596925425418403840");
|
||
list.add("002212024012620013010596925854903324672");
|
||
list.add("002212024012620053810596926897872797696");
|
||
list.add("002212024012620074910596927446352523264");
|
||
list.add("002212024012620103410596928139169718272");
|
||
list.add("002212024012620122610596928608487804928");
|
||
list.add("002212024012620182510596930113848147968");
|
||
list.add("002212024012620264110596932195319435264");
|
||
list.add("002212024012620270610596932299794579456");
|
||
list.add("002212024012620374610596934981568520192");
|
||
list.add("002212024012620380310596935056187322368");
|
||
list.add("002212024012620400010596935543380856832");
|
||
list.add("002212024012620421310596936104939245568");
|
||
list.add("002212024012620452710596936917239635968");
|
||
list.add("002212024012620552610596939430883291136");
|
||
list.add("002212024012620561010596939614417645568");
|
||
list.add("002212024012620571510596939887360696320");
|
||
list.add("002212024012621001810596940652605042688");
|
||
list.add("002212024012621010610596940854749679616");
|
||
list.add("002212024012621042510596941688146329600");
|
||
list.add("002212024012621045810596941826469253120");
|
||
list.add("002212024012621090510596942865863929856");
|
||
list.add("002212024012621095210596943063189114880");
|
||
list.add("002212024012621110010596943346012094464");
|
||
list.add("002212024012621153210596944486643494912");
|
||
list.add("002212024012621182410596945210053066752");
|
||
list.add("002212024012621190310596945370424602624");
|
||
list.add("002212024012621240310596946630447403008");
|
||
list.add("002212024012621314510596948568661094400");
|
||
list.add("002212024012621363910596949800948297728");
|
||
list.add("002212024012621390210596950402778128384");
|
||
list.add("002212024012621440110596951656313298944");
|
||
list.add("002212024012621521310596953721078185984");
|
||
list.add("002212024012621550610596954446588080128");
|
||
list.add("002212024012622025210596956398584418304");
|
||
list.add("002212024012622030010596956432086245376");
|
||
list.add("002212024012622073310596957577963859968");
|
||
list.add("002212024012622095610596958178753994752");
|
||
list.add("002212024012622095710596958181461413888");
|
||
list.add("002212024012622120110596958701466832896");
|
||
list.add("002212024012622190010596960459361939456");
|
||
list.add("002212024012622200010596960709491130368");
|
||
list.add("002212024012622210710596960992628482048");
|
||
list.add("002212024012622212410596961062748856320");
|
||
list.add("002212024012622214910596961167445192704");
|
||
list.add("002212024012622254010596962135461031936");
|
||
list.add("002212024012622274910596962679099686912");
|
||
list.add("002212024012622282310596962820507627520");
|
||
list.add("002212024012622283910596962886304526336");
|
||
list.add("002212024012622305710596963465589809152");
|
||
list.add("002212024012622314310596963660533161984");
|
||
list.add("002212024012622333910596964144753082368");
|
||
list.add("002212024012622400710596965771552653312");
|
||
list.add("002212024012622403510596965890492563456");
|
||
list.add("002212024012622433110596966629305446400");
|
||
list.add("002212024012622491910596968086850404352");
|
||
list.add("002212024012622574510596970210364608512");
|
||
list.add("002212024012622584510596970461642194944");
|
||
list.add("002212024012622593610596970675988766720");
|
||
list.add("002212024012623001010596970818127491072");
|
||
list.add("002212024012623073810596972696387309568");
|
||
list.add("002212024012623132710596974163092471808");
|
||
list.add("002212024012623154610596974743176282112");
|
||
list.add("002212024012623222110596976403223613440");
|
||
list.add("002212024012623235310596976787145523200");
|
||
list.add("002212024012623254110596977240450125824");
|
||
list.add("002212024012623262110596977409705050112");
|
||
list.add("002212024012623263710596977476996296704");
|
||
list.add("002212024012623300110596978329861836800");
|
||
list.add("002212024012623330410596979099201851392");
|
||
list.add("002212024012623365910596980084983664640");
|
||
list.add("002212024012623382510596980444678787072");
|
||
list.add("002212024012623424810596981549638287360");
|
||
list.add("002212024012623432310596981693052977152");
|
||
list.add("002212024012623484210596983033893949440");
|
||
list.add("002212024012623505710596983598089625600");
|
||
list.add("002212024012623513310596983750616616960");
|
||
list.add("002212024012700040610596986908291256320");
|
||
list.add("002212024012700043710596987037593489408");
|
||
list.add("002212024012700052810596987250998833152");
|
||
list.add("002212024012700072410596987737132093440");
|
||
list.add("002212024012700092710596988255396917248");
|
||
list.add("002212024012700173810596990313121124352");
|
||
list.add("002212024012700175810596990398079270912");
|
||
list.add("002212024012700202210596991002928128000");
|
||
list.add("002212024012700210710596991192117706752");
|
||
list.add("002212024012700260210596992429987852288");
|
||
list.add("002212024012700321210596993981962190848");
|
||
list.add("002212024012700340310596994445872898048");
|
||
list.add("002212024012700350410596994702392516608");
|
||
list.add("002212024012700370110596995192033505280");
|
||
list.add("002212024012700462610596997562865901568");
|
||
list.add("002212024012700502010596998543783583744");
|
||
list.add("002212024012700533310596999354810982400");
|
||
list.add("002212024012700555210596999935513653248");
|
||
list.add("002212024012700592010597000806541381632");
|
||
list.add("002212024012700592210597000817463226368");
|
||
list.add("002212024012701002110597001066444165120");
|
||
list.add("002212024012701012010597001312986812416");
|
||
list.add("002212024012701042910597002103642279936");
|
||
list.add("002212024012701070110597002743353331712");
|
||
list.add("002212024012701144010597004668607234048");
|
||
list.add("002212024012701211610597006328086745088");
|
||
list.add("002212024012701232610597006872725508096");
|
||
list.add("002212024012701261510597007583387283456");
|
||
list.add("002212024012701331810597009354969141248");
|
||
list.add("002212024012701333910597009443309613056");
|
||
list.add("002212024012701343510597009678072184832");
|
||
list.add("002212024012701384010597010705224650752");
|
||
list.add("002212024012701414210597011469890420736");
|
||
list.add("002212024012701461110597012599045181440");
|
||
list.add("002212024012701535410597014541154537472");
|
||
list.add("002212024012701542810597014682265624576");
|
||
list.add("002212024012701571410597015379763679232");
|
||
list.add("002212024012701584410597015758291226624");
|
||
list.add("002212024012702005810597016318192287744");
|
||
list.add("002212024012702063510597017734641287168");
|
||
list.add("002212024012702151510597019915134636032");
|
||
list.add("002212024012702192210597020950948630528");
|
||
list.add("002212024012702194810597021056947154944");
|
||
list.add("002212024012702203410597021251158056960");
|
||
list.add("002212024012702244910597022320593145856");
|
||
list.add("002212024012702255210597022583828152320");
|
||
list.add("002212024012702284610597023314264891392");
|
||
list.add("002212024012702341810597024706679664640");
|
||
list.add("002212024012702402010597026226472124416");
|
||
list.add("002212024012702484310597028337079611392");
|
||
list.add("002212024012702543710597029821318582272");
|
||
list.add("002212024012702572210597030512765112320");
|
||
list.add("002212024012703020810597031714195591168");
|
||
list.add("002212024012703033910597032094379921408");
|
||
list.add("002212024012703042710597032293286170624");
|
||
list.add("002212024012703061910597032766246576128");
|
||
list.add("002212024012703081710597033260312317952");
|
||
list.add("002212024012703195710597036197684146176");
|
||
list.add("002212024012703310010597038976819437568");
|
||
list.add("002212024012703375010597040697591554048");
|
||
list.add("002212024012703401010597041282621464576");
|
||
list.add("002212024012703493310597043643162992640");
|
||
list.add("002212024012703591410597046083007221760");
|
||
list.add("002212024012704011010597046568318816256");
|
||
list.add("002212024012704023110597046908065902592");
|
||
list.add("002212024012704283010597053445459234816");
|
||
list.add("002212024012704295410597053801473966080");
|
||
list.add("002212024012704313310597054215428395008");
|
||
list.add("002212024012704463110597057980602974208");
|
||
list.add("002212024012704581110597060916869459968");
|
||
list.add("002212024012705010010597061624180109312");
|
||
list.add("002212024012705083110597063518298435584");
|
||
list.add("002212024012705383510597071085108023296");
|
||
list.add("002212024012706314110597084445676728320");
|
||
list.add("002212024012706363410597085676302987264");
|
||
list.add("002212024012706551410597090374808629248");
|
||
list.add("002212024012707474510597103589493923840");
|
||
list.add("002212024012708022110597107265044336640");
|
||
list.add("002212024012708215510597112187732197376");
|
||
list.add("002212024012709163910597125964385058816");
|
||
list.add("002212024012709315110597129787006615552");
|
||
list.add("002212024012709375510597131314472017920");
|
||
list.add("002212024012710011110597137171111104512");
|
||
list.add("002212024012710204210597142080784818176");
|
||
list.add("002212024012710224810597142609334542336");
|
||
list.add("002212024012710362610597146042143141888");
|
||
list.add("002212024012710370410597146199809761280");
|
||
list.add("002212024012710462410597148549477945344");
|
||
list.add("002212024012710504510597149643280969728");
|
||
list.add("002212024012710532710597150322510680064");
|
||
list.add("002212024012711031010597152766123511808");
|
||
list.add("002212024012711071910597153811436990464");
|
||
list.add("002212024012711083410597154126112325632");
|
||
list.add("002212024012711102610597154595406286848");
|
||
list.add("002212024012711103310597154624541380608");
|
||
list.add("002212024012711193210597156885652959232");
|
||
list.add("002212024012711261710597158585088471040");
|
||
list.add("002212024012711293110597159398883098624");
|
||
list.add("002212024012711342210597160620974108672");
|
||
list.add("002212024012711523610597165206875262976");
|
||
list.add("002212024012712063410597168723973836800");
|
||
list.add("002212024012712064010597168747323527168");
|
||
list.add("002212024012712132810597170460393594880");
|
||
list.add("002212024012712155510597171077662052352");
|
||
list.add("002212024012712172910597171470748516352");
|
||
list.add("002212024012712180210597171610764804096");
|
||
list.add("002212024012712184610597171792127549440");
|
||
list.add("002212024012712200110597172107379335168");
|
||
list.add("002212024012712200410597172121482358784");
|
||
list.add("002212024012712224710597172802461978624");
|
||
list.add("002212024012712250910597173398740889600");
|
||
list.add("002212024012712274410597174050297839616");
|
||
list.add("002212024012712293710597174523713986560");
|
||
list.add("002212024012712415610597177623462137856");
|
||
list.add("002212024012712421710597177710743584768");
|
||
list.add("002212024012712431010597177933256134656");
|
||
list.add("002212024012712441010597178185066631168");
|
||
list.add("002212024012712464110597178820970512384");
|
||
list.add("002212024012712474710597179094419308544");
|
||
list.add("002212024012712485910597179397152763904");
|
||
list.add("002212024012712531310597180463942303744");
|
||
list.add("002212024012712565510597181394577412096");
|
||
list.add("002212024012713112510597185045016207360");
|
||
list.add("002212024012713123810597185349820473344");
|
||
list.add("002212024012713202010597187286316478464");
|
||
list.add("002212024012713271910597189046437875712");
|
||
list.add("002212024012713311310597190027423928320");
|
||
list.add("002212024012713364810597191429370236928");
|
||
list.add("002212024012713431810597193068072259584");
|
||
list.add("002212024012713483310597194386558619648");
|
||
list.add("002212024012713493810597194658913013760");
|
||
list.add("002212024012713503910597194916407451648");
|
||
list.add("002212024012713555610597196247971254272");
|
||
list.add("002212024012713573510597196662980857856");
|
||
list.add("002212024012713592910597197141114744832");
|
||
list.add("002212024012714011410597197579182317568");
|
||
list.add("002212024012714022610597197880366899200");
|
||
list.add("002212024012714072010597199115750113280");
|
||
list.add("002212024012714132410597200640709844992");
|
||
list.add("002212024012714155410597201272754831360");
|
||
list.add("002212024012714194410597202235623301120");
|
||
list.add("002212024012714221910597202886900019200");
|
||
list.add("002212024012714262710597203925184380928");
|
||
list.add("002212024012714283610597204467255046144");
|
||
list.add("002212024012714333010597205699566653440");
|
||
list.add("002212024012714345510597206058836254720");
|
||
list.add("002212024012714350110597206081005047808");
|
||
list.add("002212024012714350710597206107198713856");
|
||
list.add("002212024012714404510597207523170578432");
|
||
list.add("002212024012714421610597207906533146624");
|
||
list.add("002212024012714421710597207909353750528");
|
||
list.add("002212024012714471910597209177215094784");
|
||
list.add("002212024012714503310597209989781999616");
|
||
list.add("002212024012714520310597210369618169856");
|
||
list.add("002212024012714522910597210476485902336");
|
||
list.add("002212024012714572610597211722138636288");
|
||
list.add("002212024012714583610597212017155571712");
|
||
list.add("002212024012714593010597212242721046528");
|
||
list.add("002212024012714593610597212270682304512");
|
||
list.add("002212024012715024010597213041649897472");
|
||
list.add("002212024012715043110597213505954312192");
|
||
list.add("002212024012715060610597213903465279488");
|
||
list.add("002212024012715184310597217080835952640");
|
||
list.add("002212024012715352310597221274598043648");
|
||
list.add("002212024012715370010597221681318420480");
|
||
list.add("002212024012715380310597221946859806720");
|
||
list.add("002212024012715421210597222988183961600");
|
||
list.add("002212024012715434110597223363496505344");
|
||
list.add("002212024012715471910597224276508364800");
|
||
list.add("002212024012715490610597224727221985280");
|
||
list.add("002212024012715534210597225884730150912");
|
||
list.add("002212024012715570010597226714996207616");
|
||
list.add("002212024012716015610597227953393823744");
|
||
list.add("002212024012716221310597233058135265280");
|
||
list.add("002212024012716321710597235591140433920");
|
||
list.add("002212024012716360910597236567115001856");
|
||
list.add("002212024012716425010597238248882769920");
|
||
list.add("002212024012716514610597240494671388672");
|
||
list.add("002212024012716554110597241483816562688");
|
||
list.add("002212024012717091910597244914455244800");
|
||
list.add("002212024012717271210597249413297934336");
|
||
list.add("002212024012717462910597254267346472960");
|
||
list.add("002212024012718290110597264971606433792");
|
||
list.add("002212024012718313410597265609675395072");
|
||
list.add("002212024012718413610597268138068955136");
|
||
list.add("002212024012718415110597268198079160320");
|
||
list.add("002212024012718423010597268365027135488");
|
||
list.add("002212024012718524910597270960100282368");
|
||
list.add("002212024012718551610597271573975912448");
|
||
list.add("002212024012718592210597272606714187776");
|
||
list.add("002212024012719040110597273776297467904");
|
||
list.add("002212024012719215110597278265664991232");
|
||
list.add("002212024012719225210597278522501062656");
|
||
list.add("002212024012719305310597280541002108928");
|
||
list.add("002212024012719331210597281122881462272");
|
||
list.add("002212024012719341510597281388156383232");
|
||
list.add("002212024012719435210597283808590888960");
|
||
list.add("002212024012719473010597284720477569024");
|
||
list.add("002212024012720033910597288787005272064");
|
||
list.add("002212024012720051510597289187473215488");
|
||
list.add("002212024012720064710597289573229617152");
|
||
list.add("002212024012720155810597291886442905600");
|
||
list.add("002212024012720215910597293400091721728");
|
||
list.add("002212024012720252610597294265594142720");
|
||
list.add("002212024012720253410597294301088968704");
|
||
list.add("002212024012720371010597297218749063168");
|
||
list.add("002212024012720372010597297262028476416");
|
||
list.add("002212024012720423310597298575921291264");
|
||
list.add("002212024012720464910597299649147215872");
|
||
list.add("002212024012720504410597300632355803136");
|
||
list.add("002212024012720554610597301902497247232");
|
||
list.add("002212024012720581710597302532500529152");
|
||
list.add("002212024012720581910597302543529431040");
|
||
list.add("002212024012721001410597303023588569088");
|
||
list.add("002212024012721131710597306307535663104");
|
||
list.add("002212024012721164610597307187716775936");
|
||
list.add("002212024012721174710597307442223054848");
|
||
list.add("002212024012721181910597307573742698496");
|
||
list.add("002212024012721233710597308910741053440");
|
||
list.add("002212024012721241610597309071761666048");
|
||
list.add("002212024012721271910597309842625097728");
|
||
list.add("002212024012721292510597310368099237888");
|
||
list.add("002212024012721301010597310557379948544");
|
||
list.add("002212024012721335010597311478863060992");
|
||
list.add("002212024012721344210597311697992175616");
|
||
list.add("002212024012721364710597312223814516736");
|
||
list.add("002212024012721391110597312825131069440");
|
||
list.add("002212024012721423610597313684853055488");
|
||
list.add("002212024012721473910597314957136560128");
|
||
list.add("002212024012721583510597317707734810624");
|
||
list.add("002212024012722063110597319706055405568");
|
||
list.add("002212024012722072210597319918633287680");
|
||
list.add("002212024012722122010597321170080399360");
|
||
list.add("002212024012722144410597321772299538432");
|
||
list.add("002212024012722151710597321912741613568");
|
||
list.add("002212024012722155810597322085734711296");
|
||
list.add("002212024012722173010597322469148782592");
|
||
list.add("002212024012722190210597322856937193472");
|
||
list.add("002212024012722190710597322874986254336");
|
||
list.add("002212024012722203510597323245123735552");
|
||
list.add("002212024012722221710597323674210914304");
|
||
list.add("002212024012722240210597324112855265280");
|
||
list.add("002212024012722310010597325866720382976");
|
||
list.add("002212024012722314710597326065825914880");
|
||
list.add("002212024012722330410597326389311299584");
|
||
list.add("002212024012722355210597327090616832000");
|
||
list.add("002212024012722374510597327567038619648");
|
||
list.add("002212024012722384510597327818008682496");
|
||
list.add("002212024012722432410597328986820214784");
|
||
list.add("002212024012722444810597329341289234432");
|
||
list.add("002212024012722465410597329867299971072");
|
||
list.add("002212024012722555610597332142979608576");
|
||
list.add("002212024012722582510597332767729418240");
|
||
list.add("002212024012723024310597333847365013504");
|
||
list.add("002212024012723034210597334097072902144");
|
||
list.add("002212024012723042410597334273397444608");
|
||
list.add("002212024012723061010597334715584679936");
|
||
list.add("002212024012723110510597335953945808896");
|
||
list.add("002212024012723111910597336013711704064");
|
||
list.add("002212024012723134810597336638353170432");
|
||
list.add("002212024012723160810597337224759939072");
|
||
list.add("002212024012723231210597339005584793600");
|
||
list.add("002212024012723253310597339595373662208");
|
||
list.add("002212024012723301910597340795137388544");
|
||
list.add("002212024012723324310597341398638325760");
|
||
list.add("002212024012723340410597341737032450048");
|
||
list.add("002212024012723363310597342365004685312");
|
||
list.add("002212024012723363910597342388312432640");
|
||
list.add("002212024012723380010597342729653100544");
|
||
list.add("002212024012723411110597343529047814144");
|
||
list.add("002212024012723414410597343667924402176");
|
||
list.add("002212024012723451210597344540281761792");
|
||
list.add("002212024012723501510597345810729238528");
|
||
list.add("002212024012723555810597347248638173184");
|
||
list.add("002212024012723564410597347441410691072");
|
||
list.add("002212024012723592810597348130956972032");
|
||
list.add("002212024012800015510597348748590542848");
|
||
list.add("002212024012800063010597349902274465792");
|
||
list.add("002212024012800141510597351850756624384");
|
||
list.add("002212024012800164110597352462033518592");
|
||
list.add("002212024012800165810597352534803570688");
|
||
list.add("002212024012800244610597354497382449152");
|
||
list.add("002212024012800265710597355047136100352");
|
||
list.add("002212024012800280410597355327014166528");
|
||
list.add("002212024012800340310597356834569785344");
|
||
list.add("002212024012800345710597357060931543040");
|
||
list.add("002212024012800353310597357211548819456");
|
||
list.add("002212024012800430410597359103878483968");
|
||
list.add("002212024012800463110597359972840312832");
|
||
list.add("002212024012800572410597362709962285056");
|
||
list.add("002212024012800574710597362805259489280");
|
||
list.add("002212024012800583410597363001914654720");
|
||
list.add("002212024012801012810597363734158409728");
|
||
list.add("002212024012801071710597365195836575744");
|
||
list.add("002212024012801133710597366790051684352");
|
||
list.add("002212024012801165610597367627425640448");
|
||
list.add("002212024012801183910597368056747778048");
|
||
list.add("002212024012801195910597368394668699648");
|
||
list.add("002212024012801235810597369395970461696");
|
||
list.add("002212024012801285010597370622415568896");
|
||
list.add("002212024012801302410597371015573889024");
|
||
list.add("002212024012801312710597371279445762048");
|
||
list.add("002212024012801463810597375099118411776");
|
||
list.add("002212024012801472510597375298664038400");
|
||
list.add("002212024012801523910597376613610881024");
|
||
list.add("002212024012801533010597376827241394176");
|
||
list.add("002212024012801560010597377457425047552");
|
||
list.add("002212024012801560610597377480805994496");
|
||
list.add("002212024012801583810597378118050869248");
|
||
list.add("002212024012802011510597378778804744192");
|
||
list.add("002212024012802085410597380702543409152");
|
||
list.add("002212024012802093410597380872348307456");
|
||
list.add("002212024012802170110597382744904204288");
|
||
list.add("002212024012802251910597384836851920896");
|
||
list.add("002212024012802253710597384911057702912");
|
||
list.add("002212024012802273410597385401658630144");
|
||
list.add("002212024012802331610597386833463443456");
|
||
list.add("002212024012802350410597387290423455744");
|
||
list.add("002212024012802382210597388118461939712");
|
||
list.add("002212024012802390410597388293969408000");
|
||
list.add("002212024012802422110597389120836067328");
|
||
list.add("002212024012802503010597391173941948416");
|
||
list.add("002212024012802570210597392815053201408");
|
||
list.add("002212024012803024510597394256747155456");
|
||
list.add("002212024012803040710597394597443108864");
|
||
list.add("002212024012803043610597394718922735616");
|
||
list.add("002212024012803072610597395434499330048");
|
||
list.add("002212024012803212110597398936409694208");
|
||
list.add("002212024012803341310597402175387430912");
|
||
list.add("002212024012803373810597403032619438080");
|
||
list.add("002212024012803503410597406289581408256");
|
||
list.add("002212024012803511310597406452385640448");
|
||
list.add("002212024012803555210597407622424330240");
|
||
list.add("002212024012804033510597409566417899520");
|
||
list.add("002212024012804154610597412629314707456");
|
||
list.add("002212024012804174710597413136074711040");
|
||
list.add("002212024012804281010597415751542202368");
|
||
list.add("002212024012804412210597419071883378688");
|
||
list.add("002212024012804450110597419993417506816");
|
||
list.add("002212024012805233910597429713907544064");
|
||
list.add("002212024012805341610597432384324431872");
|
||
list.add("002212024012805443010597434959253147648");
|
||
list.add("002212024012806204810597444098051657728");
|
||
list.add("002212024012806563210597453089993519104");
|
||
list.add("002212024012807063610597455621616685056");
|
||
list.add("002212024012807342210597462610437795840");
|
||
list.add("002212024012808434010597480048151658496");
|
||
list.add("002212024012808542310597482746052804608");
|
||
list.add("002212024012808550010597482903381147648");
|
||
list.add("002212024012809470710597496019417399296");
|
||
list.add("002212024012809521310597497302269423616");
|
||
list.add("002212024012809583410597498898771668992");
|
||
list.add("002212024012810051710597500587645763584");
|
||
list.add("002212024012810123110597502408593334272");
|
||
list.add("002212024012810202010597504376411869184");
|
||
list.add("002212024012810221110597504843354533888");
|
||
list.add("002212024012810232210597505140123365376");
|
||
list.add("002212024012810284810597506508653416448");
|
||
list.add("002212024012810350510597508086645592064");
|
||
list.add("002212024012810485610597511572298027008");
|
||
list.add("002212024012811154210597518312261459968");
|
||
list.add("002212024012811213110597519774317445120");
|
||
list.add("002212024012811363210597523555009318912");
|
||
list.add("002212024012811531310597527750741786624");
|
||
list.add("002212024012811574710597528899101294592");
|
||
list.add("002212024012812062410597531067665674240");
|
||
list.add("002212024012812075710597531461047672832");
|
||
list.add("002212024012812102010597532059940069376");
|
||
list.add("002212024012812280010597536505777295360");
|
||
list.add("002212024012812294310597536936748744704");
|
||
list.add("002212024012812310510597537278986153984");
|
||
list.add("002212024012812344510597538205419786240");
|
||
list.add("002212024012812411610597539845590843392");
|
||
list.add("002212024012812415710597540017177788416");
|
||
list.add("002212024012812474010597541452983214080");
|
||
list.add("002212024012812505910597542287943000064");
|
||
list.add("002212024012812514610597542484842868736");
|
||
list.add("002212024012812534010597542965869481984");
|
||
list.add("002212024012812564110597543724703449088");
|
||
list.add("002212024012813000210597544564979761152");
|
||
list.add("002212024012813005110597544770318430208");
|
||
list.add("002212024012813011510597544874529460224");
|
||
list.add("002212024012813040910597545602838253568");
|
||
list.add("002212024012813045110597545779980488704");
|
||
list.add("002212024012813093610597546974379888640");
|
||
list.add("002212024012813095210597547040320610304");
|
||
list.add("002212024012813105210597547294130634752");
|
||
list.add("002212024012813193610597549490528256000");
|
||
list.add("002212024012813202310597549687616425984");
|
||
list.add("002212024012813220910597550130398404608");
|
||
list.add("002212024012813222110597550184475852800");
|
||
list.add("002212024012813381710597554190958919680");
|
||
list.add("002212024012813391510597554437008228352");
|
||
list.add("002212024012813411010597554916084764672");
|
||
list.add("002212024012814002010597559741379858432");
|
||
list.add("002212024012814052710597561030480322560");
|
||
list.add("002212024012814091510597561985920761856");
|
||
list.add("002212024012814133210597563062148780032");
|
||
list.add("002212024012814155210597563652148785152");
|
||
list.add("002212024012814161610597563750895439872");
|
||
list.add("002212024012814172010597564020008353792");
|
||
list.add("002212024012814200710597564719225786368");
|
||
list.add("002212024012814270010597566451716608000");
|
||
list.add("002212024012814294710597567152290590720");
|
||
list.add("002212024012814314610597567653270196224");
|
||
list.add("002212024012814335010597568171641532416");
|
||
list.add("002212024012814341310597568267395993600");
|
||
list.add("002212024012814344210597568389359464448");
|
||
list.add("002212024012814355410597568693882474496");
|
||
list.add("002212024012814412610597570086629703680");
|
||
list.add("002212024012814413910597570137656303616");
|
||
list.add("002212024012814454510597571169883086848");
|
||
list.add("002212024012814470410597571502253600768");
|
||
list.add("002212024012814473610597571637530714112");
|
||
list.add("002212024012814491410597572048113750016");
|
||
list.add("002212024012814513510597572640805163008");
|
||
list.add("002212024012814530910597573032255848448");
|
||
list.add("002212024012814593010597574631652528128");
|
||
list.add("002212024012815013510597575155606245376");
|
||
list.add("002212024012815045410597575989119537152");
|
||
list.add("002212024012815045610597575997974740992");
|
||
list.add("002212024012815073610597576670534324224");
|
||
list.add("002212024012815084710597576966599778304");
|
||
list.add("002212024012815114710597577723485212672");
|
||
list.add("002212024012815135410597578253238398976");
|
||
list.add("002212024012815230310597580558570475520");
|
||
list.add("002212024012815271210597581602640789504");
|
||
list.add("002212024012815271910597581633008553984");
|
||
list.add("002212024012815290210597582063832260608");
|
||
list.add("002212024012815340510597583336141135872");
|
||
list.add("002212024012815360810597583852283797504");
|
||
list.add("002212024012815401510597584886422691840");
|
||
list.add("002212024012815455110597586293987438592");
|
||
list.add("002212024012816061910597591448355041280");
|
||
list.add("002212024012816151610597593700650315776");
|
||
list.add("002212024012816161410597593942668017664");
|
||
list.add("002212024012816220110597595397526290432");
|
||
list.add("002212024012816233910597595809864122368");
|
||
list.add("002212024012816312110597597747815817216");
|
||
list.add("002212024012816360910597598952048095232");
|
||
list.add("002212024012816403110597600052801925120");
|
||
list.add("002212024012817044710597606158441992192");
|
||
list.add("002212024012817155710597608968575143936");
|
||
list.add("002212024012817182110597609575329759232");
|
||
list.add("002212024012817264510597611687193047040");
|
||
list.add("002212024012817312410597612859079122944");
|
||
list.add("002212024012817381010597614560343949312");
|
||
list.add("002212024012818015810597620551778205696");
|
||
list.add("002212024012818252510597626452591894528");
|
||
list.add("002212024012818262810597626717637804032");
|
||
list.add("002212024012818330610597628384057430016");
|
||
list.add("002212024012818401410597630182395891712");
|
||
list.add("002212024012818430310597630889216045056");
|
||
list.add("002212024012818512510597632994301353984");
|
||
list.add("002212024012819044410597636344786575360");
|
||
list.add("002212024012819192710597640048187658240");
|
||
list.add("002212024012819325110597643423270658048");
|
||
list.add("002212024012819401310597645275716505600");
|
||
list.add("002212024012819431210597646028231237632");
|
||
list.add("002212024012819445610597646463652458496");
|
||
list.add("002212024012819582710597649865326297088");
|
||
list.add("002212024012820000010597650256184037376");
|
||
list.add("002212024012820201310597655343630548992");
|
||
list.add("002212024012820312510597658160362508288");
|
||
list.add("002212024012820475110597662297665957888");
|
||
list.add("002212024012820561710597664418805182464");
|
||
list.add("002212024012820562110597664437457244160");
|
||
list.add("002212024012820583010597664975923568640");
|
||
list.add("002212024012820585110597665065385005056");
|
||
list.add("002212024012821001110597665399293546496");
|
||
list.add("002212024012821001910597665434822967296");
|
||
list.add("002212024012821003410597665495031054336");
|
||
list.add("002212024012821004810597665556701052928");
|
||
list.add("002212024012821011110597665653871509504");
|
||
list.add("002212024012821015510597665837834686464");
|
||
list.add("002212024012821020210597665864189566976");
|
||
list.add("002212024012821040810597666393434742784");
|
||
list.add("002212024012821042710597666473210716160");
|
||
list.add("002212024012821113810597668282814631936");
|
||
list.add("002212024012821150210597669136134688768");
|
||
list.add("002212024012821171210597669681877581824");
|
||
list.add("002212024012821234510597671330871136256");
|
||
list.add("002212024012821300910597672941928697856");
|
||
list.add("002212024012821322110597673493423128576");
|
||
list.add("002212024012821494110597677858699542528");
|
||
list.add("002212024012821540810597678976394006528");
|
||
list.add("002212024012821554610597679386575966208");
|
||
list.add("002212024012821571310597679752381661184");
|
||
list.add("002212024012822011210597680754122915840");
|
||
list.add("002212024012822080110597682470034202624");
|
||
list.add("002212024012822190310597685248266166272");
|
||
list.add("002212024012822233410597686384620068864");
|
||
list.add("002212024012822234210597686416704884736");
|
||
list.add("002212024012822234310597686422826475520");
|
||
list.add("002212024012822242110597686581893394432");
|
||
list.add("002212024012822254910597686949618581504");
|
||
list.add("002212024012822260310597687007606009856");
|
||
list.add("002212024012822271910597687327942594560");
|
||
list.add("002212024012822291410597687810549211136");
|
||
list.add("002212024012822294610597687944115253248");
|
||
list.add("002212024012822295510597687980378353664");
|
||
list.add("002212024012822334110597688931472211968");
|
||
list.add("002212024012822394410597690454371631104");
|
||
list.add("002212024012822430910597691312139866112");
|
||
list.add("002212024012822431910597691352522096640");
|
||
list.add("002212024012822463110597692159111921664");
|
||
list.add("002212024012822512610597693397438763008");
|
||
list.add("002212024012822540510597694066029096960");
|
||
list.add("002212024012822572910597694920975011840");
|
||
list.add("002212024012823014410597695988126613504");
|
||
list.add("002212024012823044210597696736299175936");
|
||
list.add("002212024012823090910597697857042141184");
|
||
list.add("002212024012823231710597701412179574784");
|
||
list.add("002212024012823243610597701745775575040");
|
||
list.add("002212024012823250010597701842593243136");
|
||
list.add("002212024012823290810597702886199304192");
|
||
list.add("002212024012823370010597704866103910400");
|
||
list.add("002212024012823372910597704985993404416");
|
||
list.add("002212024012823375610597705100910071808");
|
||
list.add("002212024012823511910597708466055184384");
|
||
list.add("002212024012823545010597709351174963200");
|
||
list.add("002212024012900031510597711471493115904");
|
||
list.add("002212024012900070010597712412917223424");
|
||
list.add("002212024012900084110597712839421108224");
|
||
list.add("002212024012900120110597713675630796800");
|
||
list.add("002212024012900191910597715514335752192");
|
||
list.add("002212024012900215610597716171807907840");
|
||
list.add("002212024012900252010597717026238562304");
|
||
list.add("002212024012900282210597717789290913792");
|
||
list.add("002212024012900360910597719748565331968");
|
||
list.add("002212024012900362610597719821107691520");
|
||
list.add("002212024012900370610597719987196751872");
|
||
list.add("002212024012900421210597721274069123072");
|
||
list.add("002212024012900435910597721720102965248");
|
||
list.add("002212024012900483110597722863703625728");
|
||
list.add("002212024012900554010597724662754344960");
|
||
list.add("002212024012900565010597724954069729280");
|
||
list.add("002212024012900570210597725004836462592");
|
||
list.add("002212024012900585610597725482907246592");
|
||
list.add("002212024012901005310597725975110283264");
|
||
list.add("002212024012901094610597728208403734528");
|
||
list.add("002212024012901123510597728920533639168");
|
||
list.add("002212024012901130610597729049609150464");
|
||
list.add("002212024012901230410597731558459527168");
|
||
list.add("002212024012901321810597733882152181760");
|
||
list.add("002212024012901340210597734315184709632");
|
||
list.add("002212024012901385010597735526791204864");
|
||
list.add("002212024012901392710597735678457040896");
|
||
list.add("002212024012901411510597736133211095040");
|
||
list.add("002212024012901453010597737203396308992");
|
||
list.add("002212024012901485910597738077403914240");
|
||
list.add("002212024012901533810597739247350489088");
|
||
list.add("002212024012901554810597739793807462400");
|
||
list.add("002212024012901582310597740445457620992");
|
||
list.add("002212024012901591810597740675532152832");
|
||
list.add("002212024012902020210597741361188732928");
|
||
list.add("002212024012902031110597741653538807808");
|
||
list.add("002212024012902105210597743586719502336");
|
||
list.add("002212024012902132810597744242495225856");
|
||
list.add("002212024012902305110597748614485106688");
|
||
list.add("002212024012902305810597748642832838656");
|
||
list.add("002212024012902442310597752022715396096");
|
||
list.add("002212024012902495210597753401937457152");
|
||
list.add("002212024012902555310597754913572319232");
|
||
list.add("002212024012902574810597755398077345792");
|
||
list.add("002212024012902575710597755435369517056");
|
||
list.add("002212024012903143510597759623109660672");
|
||
list.add("002212024012903195510597760963342360576");
|
||
list.add("002212024012903215810597761477241380864");
|
||
list.add("002212024012903451410597767333787955200");
|
||
list.add("002212024012903500910597768573720842240");
|
||
list.add("002212024012903525310597769258317316096");
|
||
list.add("002212024012903581810597770621501689856");
|
||
list.add("002212024012904273510597777993891254272");
|
||
list.add("002212024012905111610597788986580365312");
|
||
list.add("002212024012905375510597795690656399360");
|
||
list.add("002212024012906131010597804563232555008");
|
||
list.add("002212024012906480010597813328265498624");
|
||
list.add("002212024012907012810597816718067175424");
|
||
list.add("002212024012907085610597818598344785920");
|
||
list.add("002212024012907161810597820450927767552");
|
||
list.add("002212024012907381510597825973123403776");
|
||
list.add("002212024012907430710597827201098141696");
|
||
list.add("002212024012908080010597833463833157632");
|
||
list.add("002212024012908381410597841069844365312");
|
||
list.add("002212024012908423410597842158753763328");
|
||
list.add("002212024012908431910597842348037697536");
|
||
list.add("002212024012908441510597842582621769728");
|
||
list.add("002212024012908484410597843711392870400");
|
||
list.add("002212024012909074110597848481004384256");
|
||
list.add("002212024012909104410597849250721071104");
|
||
list.add("002212024012909320210597854609750708224");
|
||
list.add("002212024012909502110597859220994752512");
|
||
list.add("002212024012909561410597860699619946496");
|
||
list.add("002212024012909592510597861499523977216");
|
||
list.add("002212024012910061010597863201335271424");
|
||
list.add("002212024012910080110597863664665030656");
|
||
list.add("002212024012910095810597864156030164992");
|
||
list.add("002212024012910320810597869734622748672");
|
||
list.add("002212024012910374210597871134595239936");
|
||
list.add("002212024012910393410597871605431226368");
|
||
list.add("002212024012910440510597872740427726848");
|
||
list.add("002212024012910483110597873855346073600");
|
||
list.add("002212024012910570210597876001862807552");
|
||
list.add("002212024012910594210597876670285914112");
|
||
list.add("002212024012911413310597887205493166080");
|
||
list.add("002212024012911433310597887707229564928");
|
||
list.add("002212024012911502810597889446268727296");
|
||
list.add("002212024012911571210597891139832852480");
|
||
list.add("002212024012912004910597892050431356928");
|
||
list.add("002212024012912004910597892053711806464");
|
||
list.add("002212024012912093810597894272762359808");
|
||
list.add("002212024012912150710597895649838366720");
|
||
list.add("002212024012912203410597897022686978048");
|
||
list.add("002212024012912211310597897184937758720");
|
||
list.add("002212024012912264610597898580874096640");
|
||
list.add("002212024012912290810597899179072106496");
|
||
list.add("002212024012912321910597899980716032000");
|
||
list.add("002212024012912354410597900840479215616");
|
||
list.add("002212024012912452710597903286301351936");
|
||
list.add("002212024012912464310597903603252158464");
|
||
list.add("002212024012912493510597904323791806464");
|
||
list.add("002212024012912504010597904597680222208");
|
||
list.add("002212024012912545010597905643969798144");
|
||
list.add("002212024012913022510597907553470251008");
|
||
list.add("002212024012913024810597907650650824704");
|
||
list.add("002212024012913033210597907833783324672");
|
||
list.add("002212024012913131110597910262412726272");
|
||
list.add("002212024012913131910597910295978389504");
|
||
list.add("002212024012913155610597910954974851072");
|
||
list.add("002212024012913173510597911370592423936");
|
||
list.add("002212024012913175310597911448508035072");
|
||
list.add("002212024012913181210597911525628039168");
|
||
list.add("002212024012913195010597911937899917312");
|
||
list.add("002212024012913201610597912045779824640");
|
||
list.add("002212024012913244110597913156074184704");
|
||
list.add("002212024012913272310597913838133047296");
|
||
list.add("002212024012913280910597914028747386880");
|
||
list.add("002212024012913343210597915634683473920");
|
||
list.add("002212024012913385410597916736587218944");
|
||
list.add("002212024012913391110597916805055750144");
|
||
list.add("002212024012913392910597916882600144896");
|
||
list.add("002212024012913411210597917312405581824");
|
||
list.add("002212024012913424710597917712727236608");
|
||
list.add("002212024012913435610597918000461213696");
|
||
list.add("002212024012913504310597919707693936640");
|
||
list.add("002212024012913540110597920539313164288");
|
||
list.add("002212024012913583710597921698839736320");
|
||
list.add("002212024012913591510597921856740519936");
|
||
list.add("002212024012914002910597922165507739648");
|
||
list.add("002212024012914045110597923266450780160");
|
||
list.add("002212024012914090410597924328429064192");
|
||
list.add("002212024012914121510597925130018668544");
|
||
list.add("002212024012914191410597926887289614336");
|
||
list.add("002212024012914252010597928419553288192");
|
||
list.add("002212024012914262910597928712123318272");
|
||
list.add("002212024012914270310597928853654462464");
|
||
list.add("002212024012914290510597929362715299840");
|
||
list.add("002212024012914305710597929833377566720");
|
||
list.add("002212024012914343610597930753301884928");
|
||
list.add("002212024012914351610597930922433720320");
|
||
list.add("002212024012914404910597932316296048640");
|
||
list.add("002212024012914465710597933861142097920");
|
||
list.add("002212024012914473610597934022849933312");
|
||
list.add("002212024012914484310597934304187514880");
|
||
list.add("002212024012914503410597934770395901952");
|
||
list.add("002212024012914535010597935594823737344");
|
||
list.add("002212024012914590610597936918127448064");
|
||
list.add("002212024012915023510597937795844931584");
|
||
list.add("002212024012915053210597938537978753024");
|
||
list.add("002212024012915071710597938977789276160");
|
||
list.add("002212024012915080610597939182949462016");
|
||
list.add("002212024012915094410597939593290821632");
|
||
list.add("002212024012915131310597940470680481792");
|
||
list.add("002212024012915194510597942114304524288");
|
||
list.add("002212024012915223710597942836868771840");
|
||
list.add("002212024012915264910597943895638921216");
|
||
list.add("002212024012915273910597944105068277760");
|
||
list.add("002212024012915303710597944851456331776");
|
||
list.add("002212024012915391110597947004077203456");
|
||
list.add("002212024012915430010597947966259830784");
|
||
list.add("002212024012915455910597948716321955840");
|
||
list.add("002212024012915522710597950344218914816");
|
||
list.add("002212024012915544110597950905284141056");
|
||
list.add("002212024012915562110597951327729709056");
|
||
list.add("002212024012916002110597952333960015872");
|
||
list.add("002212024012916081110597954302389260288");
|
||
list.add("002212024012916113110597955143877914624");
|
||
list.add("002212024012916114310597955192914030592");
|
||
list.add("002212024012916182210597956866724462592");
|
||
list.add("002212024012916233410597958176088440832");
|
||
list.add("002212024012916251810597958610827862016");
|
||
list.add("002212024012916254310597958714892574720");
|
||
list.add("002212024012916260010597958787383693312");
|
||
list.add("002212024012916311810597960119867326464");
|
||
list.add("002212024012916330210597960556914618368");
|
||
list.add("002212024012916462410597963921104957440");
|
||
list.add("002212024012916561710597966407561211904");
|
||
list.add("002212024012916563110597966467242602496");
|
||
list.add("002212024012916570710597966619483701248");
|
||
list.add("002212024012917045610597968584454791168");
|
||
list.add("002212024012917195510597972357256757248");
|
||
list.add("002212024012917215710597972867999322112");
|
||
list.add("002212024012917251010597973676620361728");
|
||
list.add("002212024012917394910597977363074695168");
|
||
list.add("002212024012918014210597982873057075200");
|
||
list.add("002212024012918133810597985876066947072");
|
||
list.add("002212024012918195010597987435429482496");
|
||
list.add("002212024012918222710597988093983985664");
|
||
list.add("002212024012918243110597988611328438272");
|
||
list.add("002212024012918320910597990535928745984");
|
||
list.add("002212024012918323210597990630309076992");
|
||
list.add("002212024012918375210597991973375447040");
|
||
list.add("002212024012918403910597992672972976128");
|
||
list.add("002212024012918410810597992793559113728");
|
||
list.add("002212024012918414310597992943367892992");
|
||
list.add("002212024012918522710597995642655469568");
|
||
list.add("002212024012918580610597997065073979392");
|
||
list.add("002212024012918595510597997522194395136");
|
||
list.add("002212024012919004210597997720457129984");
|
||
list.add("002212024012919170410598001838415405056");
|
||
list.add("002212024012919245410598003807620161536");
|
||
list.add("002212024012919283010598004715548930048");
|
||
list.add("002212024012919324310598005774578221056");
|
||
list.add("002212024012919342610598006208298614784");
|
||
list.add("002212024012919362410598006701412933632");
|
||
list.add("002212024012919554510598011572163313664");
|
||
list.add("002212024012920044610598013844085141504");
|
||
list.add("002212024012920114810598015612815257600");
|
||
list.add("002212024012920255910598019181708980224");
|
||
list.add("002212024012920304610598020386433187840");
|
||
list.add("002212024012920374510598022140934860800");
|
||
list.add("002212024012920533810598026138343022592");
|
||
list.add("002212024012920550210598026491285315584");
|
||
list.add("002212024012920594510598027680189607936");
|
||
list.add("002212024012921010410598028010294554624");
|
||
list.add("002212024012921055610598029235712815104");
|
||
list.add("002212024012921061110598029297859817472");
|
||
list.add("002212024012921080610598029781825957888");
|
||
list.add("002212024012921093010598030133923016704");
|
||
list.add("002212024012921110810598030542352265216");
|
||
list.add("002212024012921134210598031190951047168");
|
||
list.add("002212024012921235110598033745128562688");
|
||
list.add("002212024012921235910598033775946723328");
|
||
list.add("002212024012921253910598034198275387392");
|
||
list.add("002212024012921263110598034414784204800");
|
||
list.add("002212024012921285710598035026891911168");
|
||
list.add("002212024012921343510598036443235180544");
|
||
list.add("002212024012921392910598037680278200320");
|
||
list.add("002212024012921415110598038271868190720");
|
||
list.add("002212024012921473410598039714544316416");
|
||
list.add("002212024012921560410598041852079759360");
|
||
list.add("002212024012921594810598042790820319232");
|
||
list.add("002212024012922011210598043144207859712");
|
||
list.add("002212024012922043810598044008501305344");
|
||
list.add("002212024012922124110598046033490468864");
|
||
list.add("002212024012922170910598047156579078144");
|
||
list.add("002212024012922212610598048236434223104");
|
||
list.add("002212024012922212810598048243179675648");
|
||
list.add("002212024012922220610598048403760492544");
|
||
list.add("002212024012922223710598048532554985472");
|
||
list.add("002212024012922244610598049074085494784");
|
||
list.add("002212024012922271310598049690812035072");
|
||
list.add("002212024012922275410598049863552557056");
|
||
list.add("002212024012922300910598050429953888256");
|
||
list.add("002212024012922301210598050441531338752");
|
||
list.add("002212024012922301510598050452168597504");
|
||
list.add("002212024012922330410598051163439632384");
|
||
list.add("002212024012922400010598052907160825856");
|
||
list.add("002212024012922400310598052918317010944");
|
||
list.add("002212024012922423810598053568608735232");
|
||
list.add("002212024012922443710598054068292513792");
|
||
list.add("002212024012922484310598055102127525888");
|
||
list.add("002212024012922513610598055828462084096");
|
||
list.add("002212024012922593410598057831519617024");
|
||
list.add("002212024012923024110598058615452717056");
|
||
list.add("002212024012923091210598060255587168256");
|
||
list.add("002212024012923112010598060793249755136");
|
||
list.add("002212024012923131810598061286240907264");
|
||
list.add("002212024012923155310598061940150214656");
|
||
list.add("002212024012923155810598061961026719744");
|
||
list.add("002212024012923194410598062908630200320");
|
||
list.add("002212024012923261410598064541474332672");
|
||
list.add("002212024012923305210598065707086622720");
|
||
list.add("002212024012923315110598065957644152832");
|
||
list.add("002212024012923333010598066373588811776");
|
||
list.add("002212024012923371710598067325188583424");
|
||
list.add("002212024012923415910598068506556248064");
|
||
list.add("002212024012923433110598068891398529024");
|
||
list.add("002212024012923470610598069794537566208");
|
||
list.add("002212024012923480810598070054694002688");
|
||
list.add("002212024012923491810598070347188088832");
|
||
list.add("002212024012923561310598072088526712832");
|
||
list.add("002212024012923565810598072277602918400");
|
||
list.add("002212024013000040410598074064406683648");
|
||
list.add("002212024013000125310598076284068524032");
|
||
list.add("002212024013000172310598077416623751168");
|
||
list.add("002212024013000183410598077714548486144");
|
||
list.add("002212024013000222710598078688208236544");
|
||
list.add("002212024013000255310598079554812633088");
|
||
list.add("002212024013000331510598081407184384000");
|
||
list.add("002212024013000332710598081458265640960");
|
||
list.add("002212024013000412210598083449312342016");
|
||
list.add("002212024013000500010598085624415481856");
|
||
list.add("002212024013000502510598085726971047936");
|
||
list.add("002212024013000570010598087385197522944");
|
||
list.add("002212024013001041010598089187107266560");
|
||
list.add("002212024013001082410598090253329604608");
|
||
list.add("002212024013001084010598090320717901824");
|
||
list.add("002212024013001103210598090791015034880");
|
||
list.add("002212024013001125610598091393643970560");
|
||
list.add("002212024013001213710598093581302231040");
|
||
list.add("002212024013001265210598094903163666432");
|
||
list.add("002212024013001350010598096948121395200");
|
||
list.add("002212024013001532210598101569828646912");
|
||
list.add("002212024013001540810598101761802461184");
|
||
list.add("002212024013001590210598102995091767296");
|
||
list.add("002212024013002001510598103301031325696");
|
||
list.add("002212024013002072510598105107943759872");
|
||
list.add("002212024013002101910598105837254987776");
|
||
list.add("002212024013002123610598106411095650304");
|
||
list.add("002212024013002190110598108024000061440");
|
||
list.add("002212024013002212510598108630571016192");
|
||
list.add("002212024013002262310598109880327172096");
|
||
list.add("002212024013002310310598111051774779392");
|
||
list.add("002212024013002335410598111772630450176");
|
||
list.add("002212024013002401410598113365683695616");
|
||
list.add("002212024013002423110598113939257806848");
|
||
list.add("002212024013002431310598114115375177728");
|
||
list.add("002212024013002505010598116033371574272");
|
||
list.add("002212024013002505410598116048578637824");
|
||
list.add("002212024013002512910598116196842598400");
|
||
list.add("002212024013002533410598116720028860416");
|
||
list.add("002212024013002594210598118262954631168");
|
||
list.add("002212024013003030810598119127386533888");
|
||
list.add("002212024013003130110598121616371982336");
|
||
list.add("002212024013003144810598122063075201024");
|
||
list.add("002212024013003244210598124553630388224");
|
||
list.add("002212024013003252810598124747394215936");
|
||
list.add("002212024013003332710598126755536687104");
|
||
list.add("002212024013003541910598132009885941760");
|
||
list.add("002212024013004124910598136664165314560");
|
||
list.add("002212024013004433610598144410992455680");
|
||
list.add("002212024013005401710598158673546944512");
|
||
list.add("002212024013006044510598164833946152960");
|
||
list.add("002212024013006422010598174292807987200");
|
||
list.add("002212024013006555510598177711249530880");
|
||
list.add("002212024013007470210598190573237399552");
|
||
list.add("002212024013007565610598193065535213568");
|
||
list.add("002212024013008451310598205216801026048");
|
||
list.add("002212024013009103910598211617347186688");
|
||
list.add("002212024013009283410598216124883275776");
|
||
list.add("002212024013009284310598216163763007488");
|
||
list.add("002212024013009360810598218029858017280");
|
||
list.add("002212024013009373910598218409644519424");
|
||
list.add("002212024013009473510598220911387979776");
|
||
list.add("002212024013010162210598228155527725056");
|
||
list.add("002212024013010273310598230966786052096");
|
||
list.add("002212024013010572610598238488936935424");
|
||
list.add("002212024013011044210598240318336786432");
|
||
list.add("002212024013011113710598242056546799616");
|
||
list.add("002212024013011165810598243403906785280");
|
||
list.add("002212024013011291210598246482690322432");
|
||
list.add("002212024013011292910598246555824865280");
|
||
list.add("002212024013011295610598246666055979008");
|
||
list.add("002212024013011335910598247687967989760");
|
||
list.add("002212024013011342010598247776274198528");
|
||
list.add("002212024013011374510598248636439334912");
|
||
list.add("002212024013011390210598248959039422464");
|
||
list.add("002212024013011413210598249588926541824");
|
||
list.add("002212024013011425710598249943899398144");
|
||
list.add("002212024013011475810598251206209093632");
|
||
list.add("002212024013011484210598251392499716096");
|
||
list.add("002212024013011501410598251777704800256");
|
||
list.add("002212024013011513410598252111017648128");
|
||
list.add("002212024013012083310598256387609698304");
|
||
list.add("002212024013012104310598256930701586432");
|
||
list.add("002212024013012120910598257290028240896");
|
||
list.add("002212024013012122810598257371153838080");
|
||
list.add("002212024013012143910598257920773898240");
|
||
list.add("002212024013012242010598260358562918400");
|
||
list.add("002212024013012280410598261296848527360");
|
||
list.add("002212024013012282310598261378340827136");
|
||
list.add("002212024013012283210598261414616358912");
|
||
list.add("002212024013012283910598261445716455424");
|
||
list.add("002212024013012320610598262311858679808");
|
||
list.add("002212024013012393410598264192109821952");
|
||
list.add("002212024013012514110598267239589572608");
|
||
list.add("002212024013012563110598268458669707264");
|
||
list.add("002212024013013061410598270901147246592");
|
||
list.add("002212024013013064710598271039882240000");
|
||
list.add("002212024013013104110598272022850834432");
|
||
list.add("002212024013013105210598272067978907648");
|
||
list.add("002212024013013125710598272593677365248");
|
||
list.add("002212024013013162310598273457460211712");
|
||
list.add("002212024013013173010598273736802934784");
|
||
list.add("002212024013013200210598274373497217024");
|
||
list.add("002212024013013235310598275346102140928");
|
||
list.add("002212024013013254410598275810918232064");
|
||
list.add("002212024013013275610598276362476441600");
|
||
list.add("002212024013013280910598276418438000640");
|
||
list.add("002212024013013290710598276659716923392");
|
||
list.add("002212024013013312010598277217782202368");
|
||
list.add("002212024013013355210598278360018579456");
|
||
list.add("002212024013013355510598278370920587264");
|
||
list.add("002212024013013392810598279266846507008");
|
||
list.add("002212024013013453710598280812039421952");
|
||
list.add("002212024013013471210598281211817480192");
|
||
list.add("002212024013013502610598282027535265792");
|
||
list.add("002212024013013515210598282385553186816");
|
||
list.add("002212024013013582010598284013332197376");
|
||
list.add("002212024013013583610598284081038626816");
|
||
list.add("002212024013014031610598285253930528768");
|
||
list.add("002212024013014031810598285263055974400");
|
||
list.add("002212024013014041510598285502514974720");
|
||
list.add("002212024013014081610598286511864287232");
|
||
list.add("002212024013014082510598286549638840320");
|
||
list.add("002212024013014150810598288240977211392");
|
||
list.add("002212024013014194710598289413998227456");
|
||
list.add("002212024013014280310598291492511244288");
|
||
list.add("002212024013014330210598292746373787648");
|
||
list.add("002212024013014393910598294411116007424");
|
||
list.add("002212024013014403310598294637407096832");
|
||
list.add("002212024013014404410598294684820172800");
|
||
list.add("002212024013014445210598295723054993408");
|
||
list.add("002212024013014475910598296508030607360");
|
||
list.add("002212024013014512410598297368819228672");
|
||
list.add("002212024013014583410598299170444242944");
|
||
list.add("002212024013014595210598299500413841408");
|
||
list.add("002212024013015002410598299631759482880");
|
||
list.add("002212024013015021110598300081749745664");
|
||
list.add("002212024013015022710598300150092738560");
|
||
list.add("002212024013015104710598302245602586624");
|
||
list.add("002212024013015112110598302389243346944");
|
||
list.add("002212024013015114510598302491340443648");
|
||
list.add("002212024013015181310598304118204624896");
|
||
list.add("002212024013015284110598306749921718272");
|
||
list.add("002212024013015320810598307619915296768");
|
||
list.add("002212024013015354710598308538647564288");
|
||
list.add("002212024013015384010598309263601131520");
|
||
list.add("002212024013015393510598309495263449088");
|
||
list.add("002212024013015480310598311624917110784");
|
||
list.add("002212024013015562410598313726789378048");
|
||
list.add("002212024013015565310598313848005292032");
|
||
list.add("002212024013016000410598314649342799872");
|
||
list.add("002212024013016035110598315600952168448");
|
||
list.add("002212024013016063010598316267939704832");
|
||
list.add("002212024013016063710598316297931448320");
|
||
list.add("002212024013016144910598318360680591360");
|
||
list.add("002212024013016224610598320361462145024");
|
||
list.add("002212024013016290010598321931536031744");
|
||
list.add("002212024013016325710598322926061039616");
|
||
list.add("002212024013016364610598323884887322624");
|
||
list.add("002212024013016382610598324302757339136");
|
||
list.add("002212024013016462110598326296237158400");
|
||
list.add("002212024013016470710598326489292075008");
|
||
list.add("002212024013016481210598326760233504768");
|
||
list.add("002212024013016551010598328517033713664");
|
||
list.add("002212024013017005010598329941921984512");
|
||
list.add("002212024013017154510598333696965963776");
|
||
list.add("002212024013017194910598334719709884416");
|
||
list.add("002212024013017273610598336677910138880");
|
||
list.add("002212024013017434510598340741246996480");
|
||
list.add("002212024013018164810598349058047606784");
|
||
list.add("002212024013018292410598352231122022400");
|
||
list.add("002212024013018471210598356707665653760");
|
||
list.add("002212024013018473610598356810153197568");
|
||
list.add("002212024013019113110598362830490955776");
|
||
list.add("002212024013019142610598363563263930368");
|
||
list.add("002212024013019155410598363931206348800");
|
||
list.add("002212024013019190210598364719532879872");
|
||
list.add("002212024013019194910598364916913262592");
|
||
list.add("002212024013019224510598365654916476928");
|
||
list.add("002212024013019245410598366197149061120");
|
||
list.add("002212024013019283610598367127729344512");
|
||
list.add("002212024013019345210598368703434444800");
|
||
list.add("002212024013019350410598368754281992192");
|
||
list.add("002212024013019354810598368941010849792");
|
||
list.add("002212024013019404710598370194501128192");
|
||
list.add("002212024013019450010598371253656317952");
|
||
list.add("002212024013019494310598372443776339968");
|
||
list.add("002212024013019501510598372578448207872");
|
||
list.add("002212024013019510710598372796333928448");
|
||
list.add("002212024013019513910598372928181366784");
|
||
list.add("002212024013019580510598374548280324096");
|
||
list.add("002212024013020013510598375427374690304");
|
||
list.add("002212024013020032210598375876064555008");
|
||
list.add("002212024013020053110598376419216011264");
|
||
list.add("002212024013020150110598378807347646464");
|
||
list.add("002212024013020151110598378853354168320");
|
||
list.add("002212024013020165710598379297781444608");
|
||
list.add("002212024013020364710598384285549277184");
|
||
list.add("002212024013020393210598384979701391360");
|
||
list.add("002212024013020440110598386108326481920");
|
||
list.add("002212024013020515910598388110929870848");
|
||
list.add("002212024013020573910598389539989499904");
|
||
list.add("002212024013021093910598392558625619968");
|
||
list.add("002212024013021103710598392803640082432");
|
||
list.add("002212024013021112110598392987731193856");
|
||
list.add("002212024013021121310598393204023599104");
|
||
list.add("002212024013021125510598393381283377152");
|
||
list.add("002212024013021184010598394825850839040");
|
||
list.add("002212024013021280810598397210352930816");
|
||
list.add("002212024013021300410598397695433732096");
|
||
list.add("002212024013021310810598397964151255040");
|
||
list.add("002212024013021352110598399026627002368");
|
||
list.add("002212024013021353910598399103301709824");
|
||
list.add("002212024013021410310598400461162504192");
|
||
list.add("002212024013021440110598401208779894784");
|
||
list.add("002212024013021500510598402735537393664");
|
||
list.add("002212024013021503310598402852109250560");
|
||
list.add("002212024013021521010598403258593193984");
|
||
list.add("002212024013021594210598405151753859072");
|
||
list.add("002212024013022022010598405816530608128");
|
||
list.add("002212024013022161010598409297714950144");
|
||
list.add("002212024013022184110598409930601230336");
|
||
list.add("002212024013022193910598410175750344704");
|
||
list.add("002212024013022203410598410404825841664");
|
||
list.add("002212024013022251910598411601837387776");
|
||
list.add("002212024013022264910598411977856741376");
|
||
list.add("002212024013022273210598412159340765184");
|
||
list.add("002212024013022293010598412653858496512");
|
||
list.add("002212024013022304010598412945614282752");
|
||
list.add("002212024013022321010598413322694692864");
|
||
list.add("002212024013022400910598415331816640512");
|
||
list.add("002212024013022412210598415639207325696");
|
||
list.add("002212024013022413510598415694454190080");
|
||
list.add("002212024013022554710598419268798115840");
|
||
list.add("002212024013022561010598419365086089216");
|
||
list.add("002212024013022562310598419418717097984");
|
||
list.add("002212024013022563710598419475462041600");
|
||
list.add("002212024013022564510598419511992758272");
|
||
list.add("002212024013022572010598419657852071936");
|
||
list.add("002212024013022573610598419725081034752");
|
||
list.add("002212024013022592410598420176770641920");
|
||
list.add("002212024013022595310598420298471751680");
|
||
list.add("002212024013023062110598421927566757888");
|
||
list.add("002212024013023080910598422380575301632");
|
||
list.add("002212024013023132710598423714338271232");
|
||
list.add("002212024013023185010598425070211313664");
|
||
list.add("002212024013023215810598425855797866496");
|
||
list.add("002212024013023295010598427835536089088");
|
||
list.add("002212024013023342410598428984955740160");
|
||
list.add("002212024013023393110598430275080994816");
|
||
list.add("002212024013023410110598430652454920192");
|
||
list.add("002212024013023433610598431299297292288");
|
||
list.add("002212024013023472010598432239306240000");
|
||
list.add("002212024013023500610598432937025564672");
|
||
list.add("002212024013023503610598433063367475200");
|
||
list.add("002212024013023512910598433283039404032");
|
||
list.add("002212024013023521310598433470756028416");
|
||
list.add("002212024013023522210598433509064683520");
|
||
list.add("002212024013100011110598435724507467776");
|
||
list.add("002212024013100114210598438372139442176");
|
||
list.add("002212024013100151010598439243900911616");
|
||
list.add("002212024013100154610598439394091454464");
|
||
list.add("002212024013100211410598440773268717568");
|
||
list.add("002212024013100212410598440813757046784");
|
||
list.add("002212024013100295110598442939146555392");
|
||
list.add("002212024013100305410598443204572176384");
|
||
list.add("002212024013100353210598444372276412416");
|
||
list.add("002212024013100361610598444555236147200");
|
||
list.add("002212024013100401510598445556378763264");
|
||
list.add("002212024013100430610598446273917706240");
|
||
list.add("002212024013100464410598447187626823680");
|
||
list.add("002212024013100595710598450513323220992");
|
||
list.add("002212024013101004110598450698557718528");
|
||
list.add("002212024013101020310598451045559791616");
|
||
list.add("002212024013101040310598451547505819648");
|
||
list.add("002212024013101054210598451961956495360");
|
||
list.add("002212024013101111610598453364246974464");
|
||
list.add("002212024013101165010598454765289336832");
|
||
list.add("002212024013101200710598455589270822912");
|
||
list.add("002212024013101265210598457287489884160");
|
||
list.add("002212024013101322710598458693174046720");
|
||
list.add("002212024013101383610598460241843412992");
|
||
list.add("002212024013101424510598461284177276928");
|
||
list.add("002212024013101463310598462244115050496");
|
||
list.add("002212024013101472310598462452691476480");
|
||
list.add("002212024013101505610598463343766265856");
|
||
list.add("002212024013101565110598464836619055104");
|
||
list.add("002212024013101582110598465213847937024");
|
||
list.add("002212024013101584410598465310578429952");
|
||
list.add("002212024013101595610598465608900505600");
|
||
list.add("002212024013102100410598468159808057344");
|
||
list.add("002212024013102210910598470949462736896");
|
||
list.add("002212024013102225010598471375162535936");
|
||
list.add("002212024013102245410598471895323164672");
|
||
list.add("002212024013102261210598472220605558784");
|
||
list.add("002212024013102373610598475089720995840");
|
||
list.add("002212024013102432310598476546461003776");
|
||
list.add("002212024013102434310598476629299015680");
|
||
list.add("002212024013102443810598476858292092928");
|
||
list.add("002212024013102473410598477596137988096");
|
||
list.add("002212024013102542210598479310358523904");
|
||
list.add("002212024013103033010598481609300504576");
|
||
list.add("002212024013103111010598483538840903680");
|
||
list.add("002212024013103125510598483979403005952");
|
||
list.add("002212024013103155610598484737355071488");
|
||
list.add("002212024013103180710598485284467109888");
|
||
list.add("002212024013103220810598486294859706368");
|
||
list.add("002212024013103273010598487647237169152");
|
||
list.add("002212024013103282710598487888036192256");
|
||
list.add("002212024013103315010598488736579059712");
|
||
list.add("002212024013104031110598496628345499648");
|
||
list.add("002212024013104091510598498154955354112");
|
||
list.add("002212024013104115810598498836339843072");
|
||
list.add("002212024013104173510598500253189382144");
|
||
list.add("002212024013104185410598500581244129280");
|
||
list.add("002212024013104231110598501660880977920");
|
||
list.add("002212024013104290110598503129850703872");
|
||
list.add("002212024013105021810598511503248142336");
|
||
list.add("002212024013105303310598518615588601856");
|
||
list.add("002212024013105515610598523995198717952");
|
||
list.add("002212024013106135410598529524326936576");
|
||
list.add("002212024013106252410598532418434240512");
|
||
list.add("002212024013106485410598538330720964608");
|
||
list.add("002212024013106505910598538854203047936");
|
||
list.add("002212024013107014510598541565904646144");
|
||
list.add("002212024013107050710598542411357843456");
|
||
list.add("002212024013107060110598542638106128384");
|
||
list.add("002212024013107114910598544099643109376");
|
||
list.add("002212024013107373610598550585650974720");
|
||
list.add("002212024013107475210598553172020916224");
|
||
list.add("002212024013107560610598555242083389440");
|
||
list.add("002212024013108194610598561197507567616");
|
||
list.add("002212024013108484410598568488644890624");
|
||
list.add("002212024013109062810598572951758303232");
|
||
list.add("002212024013109130710598574622770556928");
|
||
list.add("002212024013109294910598578826822758400");
|
||
list.add("002212024013109323110598579505829240832");
|
||
list.add("002212024013109341510598579941235933184");
|
||
list.add("002212024013109361210598580435874574336");
|
||
list.add("002212024013109434210598582321370497024");
|
||
list.add("002212024013109440110598582402798714880");
|
||
list.add("002212024013109545510598585145834168320");
|
||
list.add("002212024013110005110598586635278184448");
|
||
list.add("002212024013110025210598587142593196032");
|
||
list.add("002212024013110075110598588397774528512");
|
||
list.add("002212024013110141610598590013434626048");
|
||
list.add("002212024013110204910598591660658892800");
|
||
list.add("002212024013110261810598593041914503168");
|
||
list.add("002212024013110274610598593409890004992");
|
||
list.add("002212024013110283210598593605119373312");
|
||
list.add("002212024013110385510598596218304319488");
|
||
list.add("002212024013110491610598598819983396864");
|
||
list.add("002212024013111024410598602210910408704");
|
||
list.add("002212024013111031410598602336937312256");
|
||
list.add("002212024013111140410598605064318611456");
|
||
list.add("002212024013111185310598606273693618176");
|
||
list.add("002212024013111190010598606303692206080");
|
||
list.add("002212024013111215310598607027976929280");
|
||
list.add("002212024013111222910598607179521327104");
|
||
list.add("002212024013111223210598607194658123776");
|
||
list.add("002212024013111345110598610295031947264");
|
||
list.add("002212024013111494610598614048358887424");
|
||
list.add("002212024013111542010598615194981986304");
|
||
list.add("002212024013112031610598617442953854976");
|
||
list.add("002212024013112042010598617712371052544");
|
||
list.add("002212024013112121210598619693931507712");
|
||
list.add("002212024013112250110598622918139576320");
|
||
list.add("002212024013112293410598624061883072512");
|
||
list.add("002212024013112294510598624108703232000");
|
||
list.add("002212024013112303410598624316607959040");
|
||
list.add("002212024013112341110598625223919800320");
|
||
list.add("002212024013112482510598628806468435968");
|
||
list.add("002212024013112512210598629548381442048");
|
||
list.add("002212024013112564710598630910337576960");
|
||
list.add("002212024013112584510598631408152178688");
|
||
list.add("002212024013113032610598632585006596096");
|
||
list.add("002212024013113111910598634569588281344");
|
||
list.add("002212024013113112410598634589048889344");
|
||
list.add("002212024013113112610598634598641262592");
|
||
list.add("002212024013113174010598636166372601856");
|
||
list.add("002212024013113205910598637002392854528");
|
||
list.add("002212024013113333410598640169342857216");
|
||
list.add("002212024013113424710598642490518192128");
|
||
list.add("002212024013113450410598643063405404160");
|
||
list.add("002212024013113464510598643485147054080");
|
||
list.add("002212024013113491910598644131129303040");
|
||
list.add("002212024013113521110598644854076420096");
|
||
list.add("002212024013113534510598645246883393536");
|
||
list.add("002212024013113544510598645500631760896");
|
||
list.add("002212024013113573610598646217339817984");
|
||
list.add("002212024013113581310598646371495813120");
|
||
list.add("002212024013113593010598646695697833984");
|
||
list.add("002212024013113593810598646728363872256");
|
||
list.add("002212024013114045510598648059520741376");
|
||
list.add("002212024013114075010598648794204958720");
|
||
list.add("002212024013114355010598655839968608256");
|
||
list.add("002212024013114385810598656627563966464");
|
||
list.add("002212024013114404910598657091792191488");
|
||
list.add("002212024013114450610598658172856397824");
|
||
list.add("002212024013114451010598658188364873728");
|
||
list.add("002212024013114454610598658337988554752");
|
||
list.add("002212024013114464110598658568288575488");
|
||
list.add("002212024013114515310598659876730167296");
|
||
list.add("002212024013114545610598660647660019712");
|
||
list.add("002212024013114571410598661223282294784");
|
||
list.add("002212024013114582510598661520763305984");
|
||
list.add("002212024013114594410598661851552100352");
|
||
list.add("002212024013115062510598663537531469824");
|
||
list.add("002212024013115084610598664126826799104");
|
||
list.add("002212024013115111810598664764303187968");
|
||
list.add("002212024013115144310598665622812717056");
|
||
list.add("002212024013115172310598666296180346880");
|
||
list.add("002212024013115182710598666563201888256");
|
||
list.add("002212024013115191910598666780773658624");
|
||
list.add("002212024013115200710598666983198154752");
|
||
list.add("002212024013115403710598672143753805824");
|
||
list.add("002212024013115491510598674314564038656");
|
||
list.add("002212024013115550310598675775786188800");
|
||
list.add("002212024013115555610598675995566456832");
|
||
list.add("002212024013115561410598676070878523392");
|
||
list.add("002212024013116001110598677068397764608");
|
||
list.add("002212024013116154510598680984393080832");
|
||
list.add("002212024013116262410598683663330955264");
|
||
list.add("002212024013116272210598683909220470784");
|
||
list.add("002212024013116412510598687444137504768");
|
||
list.add("002212024013116471510598688909602693120");
|
||
list.add("002212024013117085010598694342223032320");
|
||
list.add("002212024013117164710598696342203805696");
|
||
list.add("002212024013117221910598697737317122048");
|
||
list.add("002212024013117222210598697747569569792");
|
||
list.add("002212024013117561210598706262811332608");
|
||
list.add("002212024013117562310598706306950631424");
|
||
list.add("002212024013117563410598706354213605376");
|
||
list.add("002212024013117583310598706855355981824");
|
||
list.add("002212024013118032310598708071059673088");
|
||
list.add("002212024013118130010598710491574177792");
|
||
list.add("002212024013118145010598710952954523648");
|
||
list.add("002212024013118163510598711391924400128");
|
||
list.add("002212024013118232210598713101606322176");
|
||
list.add("002212024013118352510598716131940630528");
|
||
list.add("002212024013118454510598718731290136576");
|
||
list.add("002212024013118530310598720570209431552");
|
||
list.add("002212024013119013910598722735224741888");
|
||
list.add("002212024013119035210598723291900145664");
|
||
list.add("002212024013119083610598724484053991424");
|
||
list.add("002212024013119175210598726816303669248");
|
||
list.add("002212024013119295510598729847608586240");
|
||
list.add("002212024013119313810598730281546260480");
|
||
list.add("002212024013119435010598733350530977792");
|
||
list.add("002212024013119441810598733468773527552");
|
||
list.add("002212024013119502610598735010925109248");
|
||
list.add("002212024013119544810598736107911954432");
|
||
list.add("002212024013119591710598737238176931840");
|
||
list.add("002212024013120010810598737704741351424");
|
||
list.add("002212024013120054910598738882308468736");
|
||
list.add("002212024013120084010598739598076911616");
|
||
list.add("002212024013120191310598742255616573440");
|
||
list.add("002212024013120261010598744003063427072");
|
||
list.add("002212024013120274910598744417540857856");
|
||
list.add("002212024013120333810598745881321918464");
|
||
list.add("002212024013120381010598747021764304896");
|
||
list.add("002212024013120390510598747253155131392");
|
||
list.add("002212024013120480210598749506802798592");
|
||
list.add("002212024013120502910598750121071202304");
|
||
list.add("002212024013120545910598751254040162304");
|
||
list.add("002212024013121001410598752575290171392");
|
||
list.add("002212024013121042310598753620003745792");
|
||
list.add("002212024013121051110598753821691686912");
|
||
list.add("002212024013121075710598754518889766912");
|
||
list.add("002212024013121183310598757185452912640");
|
||
list.add("002212024013121190910598757334874271744");
|
||
list.add("002212024013121225910598758301375492096");
|
||
list.add("002212024013121234510598758493488558080");
|
||
list.add("002212024013121261610598759126676643840");
|
||
list.add("002212024013121271610598759381412438016");
|
||
list.add("002212024013121274210598759490160046080");
|
||
list.add("002212024013121320410598760588566683648");
|
||
list.add("002212024013121353310598761465037971456");
|
||
list.add("002212024013121373510598761976277680128");
|
||
list.add("002212024013121470910598764381803474944");
|
||
list.add("002212024013121485410598764824467484672");
|
||
list.add("002212024013121491310598764901821308928");
|
||
list.add("002212024013121591510598767427270303744");
|
||
list.add("002212024013121595110598767581210611712");
|
||
list.add("002212024013122001610598767683379765248");
|
||
list.add("002212024013122060010598769126895624192");
|
||
list.add("002212024013122061410598769186009608192");
|
||
list.add("002212024013122061810598769203638267904");
|
||
list.add("002212024013122084710598769827351195648");
|
||
list.add("002212024013122120110598770639375052800");
|
||
list.add("002212024013122124510598770825402626048");
|
||
list.add("002212024013122125810598770878310080512");
|
||
list.add("002212024013122133010598771016380698624");
|
||
list.add("002212024013122150510598771411120906240");
|
||
list.add("002212024013122202510598772753389940736");
|
||
list.add("002212024013122310710598775446892797952");
|
||
list.add("002212024013122382610598777289795645440");
|
||
list.add("002212024013122492810598780064832409600");
|
||
list.add("002212024013122502410598780298737315840");
|
||
list.add("002212024013122530810598780990662103040");
|
||
list.add("002212024013122565510598781939748581376");
|
||
list.add("002212024013122584110598782384836833280");
|
||
list.add("002212024013123095910598785227203899392");
|
||
list.add("002212024013123170810598787026894704640");
|
||
list.add("002212024013123195710598787737314488320");
|
||
return list;
|
||
}
|
||
|
||
public List<String> getPaymentIdList() {
|
||
List<String> paymentIdList1 = getPaymentIdList1();
|
||
List<String> paymentIdList2 = getPaymentIdList2();
|
||
List<String> resultList = Lists.newArrayList();
|
||
resultList.addAll(paymentIdList1);
|
||
resultList.addAll(paymentIdList2);
|
||
return resultList;
|
||
}
|
||
|
||
@Test
|
||
public void testClearingWithdraw() {
|
||
// 保存提现记录
|
||
ClearingWithdrawInfo record = new ClearingWithdrawInfo();
|
||
record.setWithdrawCode("132321354");
|
||
record.setWithdrawStatus(Constants.ZERO);
|
||
Date now = new Date();
|
||
record.setApplicationTime(now);
|
||
record.setCreateTime(now);
|
||
record.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||
clearingWithdrawInfoService.insertOrUpdate(record);
|
||
}
|
||
|
||
@Test
|
||
public void testGetPileTypeNum() {
|
||
Long stationId = 1L;
|
||
pileConnectorInfoService.getPileTypeNum(stationId);
|
||
}
|
||
|
||
@Test
|
||
public void testUpdateStatus() {
|
||
String pileConnectorCode = "8800000000012601";
|
||
String status = "0";
|
||
pileConnectorInfoService.updateConnectorStatus(pileConnectorCode, status);
|
||
}
|
||
|
||
@Test
|
||
public void testRedisSet() {
|
||
String redisKey = "push_station_connector";
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("1"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("3"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("5"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("1"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("1"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("7"));
|
||
|
||
redisCache.setCacheSet(redisKey, Sets.newHashSet("3"));
|
||
|
||
|
||
Set<Object> cacheSet = redisCache.getCacheSet(redisKey);
|
||
System.out.println(cacheSet);
|
||
}
|
||
|
||
@Test
|
||
public void testSettleOrder() {
|
||
Map<String, BigDecimal> returnAmountMap = Maps.newHashMap();
|
||
returnAmountMap.put("returnPrincipal", new BigDecimal("16.8700"));
|
||
// 更新会员钱包
|
||
BigDecimal returnPrincipal = returnAmountMap.get("returnPrincipal");
|
||
// if (returnPrincipal != null && principalPayRecord != null) {
|
||
// principalPayRecord.setRefundAmount(returnPrincipal);
|
||
// updatePayRecordList.add(principalPayRecord);
|
||
// }
|
||
BigDecimal returnGift = returnAmountMap.get("returnGift");
|
||
|
||
System.out.println(returnPrincipal);
|
||
// if (returnGift != null && giftPayRecord != null) {
|
||
// giftPayRecord.setRefundAmount(returnGift);
|
||
// updatePayRecordList.add(giftPayRecord);
|
||
// // 支付的赠送金额-退回的赠送金额 = 实际使用赠送金额消费的部分
|
||
// virtualAmount = giftPay.subtract(returnGift);
|
||
// }
|
||
// UpdateMemberBalanceDTO updateMemberBalanceDTO = UpdateMemberBalanceDTO.builder()
|
||
// .memberId(orderBasicInfo.getMemberId())
|
||
// .type(MemberWalletEnum.TYPE_IN.getValue()) // 进账
|
||
// .subType(MemberWalletEnum.SUBTYPE_ORDER_SETTLEMENT_REFUND.getValue()) // 订单结算退款
|
||
// .updatePrincipalBalance(returnPrincipal)
|
||
// .updateGiftBalance(returnGift)
|
||
// .relatedOrderCode(orderBasicInfo.getOrderCode())
|
||
// .build();
|
||
// memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testVin() {
|
||
String vinCode = "tango";
|
||
MemberPlateNumberRelation memberPlateInfoByVinCode = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(vinCode);
|
||
System.out.println(memberPlateInfoByVinCode);
|
||
}
|
||
|
||
@Test
|
||
public void testParking() throws UnsupportedEncodingException {
|
||
// GetTokenDTO dto = new GetTokenDTO();
|
||
// dto.setAppId("I2qa3hdr116100dc");
|
||
// dto.setSecretKey("2qa3hdr13754a8e");
|
||
// String token = ltytService.getToken(dto);
|
||
// System.out.println(token);
|
||
|
||
BindCouponDTO dto = new BindCouponDTO();
|
||
dto.setAppId("I2qa3hdr116100dc");
|
||
dto.setSecretKey("2qa3hdr13754a8e");
|
||
dto.setMerchantId("3prv98bm8db70a9");
|
||
dto.setCouponId("3prvd0q7a4817bf");
|
||
dto.setPlateNumber("贵A12345");
|
||
dto.setPlateColor(1);
|
||
String s = ltytService.bindCoupon(dto);
|
||
System.out.println(s);
|
||
}
|
||
|
||
@Test
|
||
public void testUpdateConnectorStatus() {
|
||
String pileConnectorCode = "8800000000000101";
|
||
String status = PileConnectorStatusEnum.FREE.getValue();
|
||
pileConnectorInfoService.updateConnectorStatus(pileConnectorCode, status);
|
||
}
|
||
|
||
@Test
|
||
public void testOrder() throws Exception {
|
||
// 通过vin码查询数据库绑定用户信息
|
||
MemberPlateNumberRelation plateInfo = memberPlateNumberRelationService.getMemberPlateInfoByVinCode("LNBSCC4H1LT107646");
|
||
GenerateOrderDTO dto = new GenerateOrderDTO();
|
||
dto.setMemberPlateNumberRelation(plateInfo);
|
||
dto.setPileSn("88000000000126");
|
||
dto.setConnectorCode("01");
|
||
dto.setStartMode(StartModeEnum.VIN_CODE.getValue());
|
||
dto.setMemberId(plateInfo.getMemberId());
|
||
// 通过memberId获取账户余额
|
||
MemberVO memberVO = memberBasicInfoService.queryMemberInfoByMemberId(dto.getMemberId());
|
||
if (memberVO == null) {
|
||
throw new BusinessException(ReturnCodeEnum.CODE_GET_MEMBER_ACCOUNT_AMOUNT_ERROR);
|
||
}
|
||
BigDecimal totalAccountAmount = memberVO.getTotalAccountAmount();
|
||
if (totalAccountAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||
throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT);
|
||
}
|
||
|
||
dto.setChargeAmount(totalAccountAmount); // 充电金额
|
||
dto.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue()); // 1-余额支付
|
||
|
||
OrderBasicInfo basicInfo = orderBasicInfoService.generateOrder(dto);
|
||
|
||
// 支付订单
|
||
PayOrderDTO payOrderDTO = new PayOrderDTO();
|
||
payOrderDTO.setOrderCode(basicInfo.getOrderCode());
|
||
payOrderDTO.setPayAmount(totalAccountAmount);
|
||
payOrderDTO.setPayMode(dto.getPayMode());
|
||
payOrderDTO.setMemberId(dto.getMemberId());
|
||
// payOrderDTO.setCode();
|
||
// payOrderDTO.setLockValue();
|
||
// payOrderDTO.setOrderBasicInfo(basicInfo);
|
||
|
||
// Map<String, Object> map = orderBasicInfoService.payOrder(payOrderDTO);
|
||
// System.out.println(map);
|
||
}
|
||
|
||
@Test
|
||
public void testTransactionRecord() {
|
||
// 获取消息体
|
||
String msg = "8823000000123302230707215317078588230000001233020000341507071763023615070717b02a0200a00f0000000000003016000090dc010000000000000000000000000020c50100000000000000000000000000888a0100000000000000000000000000b0220749005032074900a00f000000000000e01500004c4e425343433448314c543130373634360563023615070717450000000000000000";
|
||
byte[] msgBody = BytesUtil.str2Bcd(msg);
|
||
|
||
int startIndex = 0;
|
||
int length = 16;
|
||
|
||
// 交易流水号
|
||
byte[] orderCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String transactionCode = BytesUtil.bcd2Str(orderCodeByteArr);
|
||
|
||
// 桩编码
|
||
startIndex += length;
|
||
length = 7;
|
||
byte[] pileSnByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String pileSn = BytesUtil.bcd2Str(pileSnByteArr);
|
||
|
||
// 枪号
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] connectorCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String connectorCode = BytesUtil.bcd2Str(connectorCodeByteArr);
|
||
|
||
|
||
// 开始时间 CP56Time2a 格式
|
||
startIndex += length;
|
||
length = 7;
|
||
byte[] startTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
// String binary = BytesUtil.binary(startTimeByteArr, 16);
|
||
Date startDate = Cp56Time2aUtil.byte2Hdate(startTimeByteArr);
|
||
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startDate);
|
||
|
||
|
||
// 结束时间 CP56Time2a 格式
|
||
startIndex += length;
|
||
byte[] endTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
Date endDate = Cp56Time2aUtil.byte2Hdate(endTimeByteArr);
|
||
String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endDate);
|
||
|
||
// 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧)
|
||
startIndex += length;
|
||
length = 4;
|
||
byte[] sharpPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String sharpPrice = YKCUtils.convertDecimalPoint(sharpPriceByteArr, 5);
|
||
|
||
// 尖电量 精确到小数点后四位
|
||
startIndex += length;
|
||
length = 4;
|
||
byte[] sharpUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String sharpUsedElectricity = YKCUtils.convertDecimalPoint(sharpUsedElectricityByteArr, 4);
|
||
|
||
// 计损尖电量
|
||
startIndex += length;
|
||
byte[] sharpPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String sharpPlanLossElectricity = YKCUtils.convertDecimalPoint(sharpPlanLossElectricityByteArr, 4);
|
||
|
||
// 尖金额
|
||
startIndex += length;
|
||
byte[] sharpAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String sharpAmount = YKCUtils.convertDecimalPoint(sharpAmountByteArr, 4);
|
||
|
||
// 峰单价 精确到小数点后五位(峰电费+峰服务费)
|
||
startIndex += length;
|
||
byte[] peakPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String peakPrice = YKCUtils.convertDecimalPoint(peakPriceByteArr, 5);
|
||
|
||
// 峰电量
|
||
startIndex += length;
|
||
byte[] peakUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String peakUsedElectricity = YKCUtils.convertDecimalPoint(peakUsedElectricityByteArr, 4);
|
||
|
||
// 计损峰电量
|
||
startIndex += length;
|
||
byte[] peakPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String peakPlanLossElectricity = YKCUtils.convertDecimalPoint(peakPlanLossElectricityByteArr, 4);
|
||
|
||
// 峰金额
|
||
startIndex += length;
|
||
byte[] peakAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String peakAmount = YKCUtils.convertDecimalPoint(peakAmountByteArr, 4);
|
||
|
||
// 平单价 精确到小数点后五位(平电费+平服务费)
|
||
startIndex += length;
|
||
byte[] flatPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String flatPrice = YKCUtils.convertDecimalPoint(flatPriceByteArr, 5);
|
||
|
||
// 平电量
|
||
startIndex += length;
|
||
byte[] flatUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String flatUsedElectricity = YKCUtils.convertDecimalPoint(flatUsedElectricityByteArr, 4);
|
||
|
||
// 计损平电量
|
||
startIndex += length;
|
||
byte[] flatPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String flatPlanLossElectricity = YKCUtils.convertDecimalPoint(flatPlanLossElectricityByteArr, 4);
|
||
|
||
// 平金额
|
||
startIndex += length;
|
||
byte[] flatAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String flatAmount = YKCUtils.convertDecimalPoint(flatAmountByteArr, 4);
|
||
|
||
// 谷单价 精确到小数点后五位(谷电费+谷 服务费)
|
||
startIndex += length;
|
||
byte[] valleyPriceByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String valleyPrice = YKCUtils.convertDecimalPoint(valleyPriceByteArr, 5);
|
||
|
||
// 谷电量
|
||
startIndex += length;
|
||
byte[] valleyUsedElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String valleyUsedElectricity = YKCUtils.convertDecimalPoint(valleyUsedElectricityByteArr, 4);
|
||
|
||
// 计损谷电量
|
||
startIndex += length;
|
||
byte[] valleyPlanLossElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String valleyPlanLossElectricity = YKCUtils.convertDecimalPoint(valleyPlanLossElectricityByteArr, 4);
|
||
|
||
// 谷金额
|
||
startIndex += length;
|
||
byte[] valleyAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String valleyAmount = YKCUtils.convertDecimalPoint(valleyAmountByteArr, 4);
|
||
|
||
// 电表总起值
|
||
startIndex += length;
|
||
length = 5;
|
||
byte[] ammeterTotalStartByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String ammeterTotalStart = YKCUtils.convertDecimalPoint(ammeterTotalStartByteArr, 4);
|
||
|
||
// 电表总止值
|
||
startIndex += length;
|
||
byte[] ammeterTotalEndByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String ammeterTotalEnd = YKCUtils.convertDecimalPoint(ammeterTotalEndByteArr, 4);
|
||
|
||
// 总电量
|
||
startIndex += length;
|
||
length = 4;
|
||
byte[] totalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String totalElectricity = YKCUtils.convertDecimalPoint(totalElectricityByteArr, 4);
|
||
|
||
// 计损总电量
|
||
startIndex += length;
|
||
byte[] planLossTotalElectricityByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String planLossTotalElectricity = YKCUtils.convertDecimalPoint(planLossTotalElectricityByteArr, 4);
|
||
|
||
// 消费金额 精确到小数点后四位,包含电费、 服务费
|
||
startIndex += length;
|
||
byte[] consumptionAmountByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String consumptionAmount = YKCUtils.convertDecimalPoint(consumptionAmountByteArr, 4);
|
||
|
||
// VIN 码 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序
|
||
startIndex += length;
|
||
length = 17;
|
||
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String vinCode = BytesUtil.ascii2Str(vinCodeByteArr);
|
||
|
||
/**
|
||
* 交易标识
|
||
* 0x01: app 启动
|
||
* 0x02:卡启动
|
||
* 0x04:离线卡启动
|
||
* 0x05: vin 码启动充电
|
||
*/
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] transactionIdentifierByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String transactionIdentifier = BytesUtil.bcd2Str(transactionIdentifierByteArr);
|
||
|
||
// 交易时间 CP56Time2a 格式
|
||
startIndex += length;
|
||
length = 7;
|
||
byte[] transactionTimeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
Date transactionDate = Cp56Time2aUtil.byte2Hdate(transactionTimeByteArr);
|
||
String transactionTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, transactionDate);
|
||
|
||
// 停止原因
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] stopReasonByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String stopReason = BytesUtil.bin2HexStr(stopReasonByteArr);
|
||
String stopReasonMsg = YKCChargingStopReasonEnum.getMsgByCode(Integer.parseInt(stopReason, 16));
|
||
|
||
// 物理卡号 不足 8 位补 0
|
||
startIndex += length;
|
||
length = 8;
|
||
byte[] cardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
// byte[] logicCardNum = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16);
|
||
String logicCard = BytesUtil.binary(cardNumByteArr, 16);
|
||
// log.info("桩号:{}发送交易记录物理卡号:{}", pileSn, logicCard);
|
||
//
|
||
// log.info("[===交易记录===]交易流水号:{}, 桩编号:{}, 枪号:{}, 开始时间:{}, 结束时间:{}, 尖单价:{}, 尖电量:{}, 计损尖电量:{}, 尖金额:{}, " +
|
||
// "峰单价:{}, 峰电量:{}, 计损峰电量:{}, 峰金额:{}, 平单价:{}, 平电量:{}, 计损平电量:{}, 平金额:{}, " +
|
||
// "谷单价:{}, 谷电量:{}, 计损谷电量:{}, 谷金额:{}, 电表总起值:{}, 电表总止值:{}, 总电量:{}, 计损总电量:{}, 消费金额:{}, " +
|
||
// "电动汽车唯一标识:{}, 交易标识:{}, 交易日期、时间:{}, 停止原因码:{}, 停止原因描述:{}, 物理卡号:{}",
|
||
// transactionCode, pileSn, connectorCode, startTime, endTime, sharpPrice, sharpUsedElectricity, sharpPlanLossElectricity, sharpAmount,
|
||
// peakPrice, peakUsedElectricity, peakPlanLossElectricity, peakAmount, flatPrice, flatUsedElectricity, flatPlanLossElectricity, flatAmount,
|
||
// valleyPrice, valleyUsedElectricity, valleyPlanLossElectricity, valleyAmount, ammeterTotalStart, ammeterTotalEnd, totalElectricity, planLossTotalElectricity,
|
||
// consumptionAmount, vinCode, transactionIdentifier, transactionTime, stopReason, stopReasonMsg, logicCard);
|
||
|
||
// 交易记录封装到对象里
|
||
TransactionRecordsData data = TransactionRecordsData.builder()
|
||
// .orderCode(transactionCode)
|
||
.transactionCode(transactionCode)
|
||
.pileSn(pileSn)
|
||
.connectorCode(connectorCode)
|
||
.startTime(startTime)
|
||
.endTime(endTime)
|
||
.sharpPrice(sharpPrice)
|
||
.sharpUsedElectricity(sharpUsedElectricity)
|
||
.sharpPlanLossElectricity(sharpPlanLossElectricity)
|
||
.sharpAmount(sharpAmount)
|
||
.peakPrice(peakPrice)
|
||
.peakUsedElectricity(peakUsedElectricity)
|
||
.peakPlanLossElectricity(peakPlanLossElectricity)
|
||
.peakAmount(peakAmount)
|
||
.flatPrice(flatPrice)
|
||
.flatUsedElectricity(flatUsedElectricity)
|
||
.flatPlanLossElectricity(flatPlanLossElectricity)
|
||
.flatAmount(flatAmount)
|
||
.valleyPrice(valleyPrice)
|
||
.valleyUsedElectricity(valleyUsedElectricity)
|
||
.valleyPlanLossElectricity(valleyPlanLossElectricity)
|
||
.valleyAmount(valleyAmount)
|
||
.ammeterTotalStart(ammeterTotalStart)
|
||
.ammeterTotalEnd(ammeterTotalEnd)
|
||
.totalElectricity(totalElectricity)
|
||
.planLossTotalElectricity(planLossTotalElectricity)
|
||
.consumptionAmount(consumptionAmount)
|
||
.vinCode(vinCode)
|
||
.transactionIdentifier(transactionIdentifier)
|
||
.transactionTime(transactionTime)
|
||
.stopReasonMsg(stopReasonMsg)
|
||
.logicCard(logicCard)
|
||
.build();
|
||
|
||
// boolean flag = !StringUtils.equals("0000000000000000", "a511101970000000");
|
||
// System.out.println(flag);
|
||
|
||
// 处理订单加锁
|
||
String lockKey = "settle_order_" + transactionCode;
|
||
String uuid = IdUtils.fastUUID();
|
||
try {
|
||
// redis锁
|
||
Boolean isLock = redisCache.lock(lockKey, uuid, 1500);
|
||
if (isLock) {
|
||
// transactionRecordsRequestHandler.processOrder(data);
|
||
}
|
||
} catch (Exception e) {
|
||
System.out.println("处理订单发生异常: " + e);
|
||
} finally {
|
||
if (uuid.equals(redisCache.getCacheObject(lockKey).toString())) {
|
||
redisCache.unLock(lockKey);
|
||
}
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testFault() {
|
||
StringBuffer sb = new StringBuffer("0100");
|
||
String lowOrder = sb.substring(0, 2);
|
||
String highOrder = sb.substring(2, 4);
|
||
|
||
// String hardwareFault = highOrder + lowOrder;
|
||
byte[] hardwareFaultByteArr = BytesUtil.str2Bcd(highOrder + lowOrder);
|
||
String binStr = BytesUtil.bytes2BinStr(hardwareFaultByteArr);
|
||
// log.info("binStr:{}", binStr); // 0000 0000 0000 0001
|
||
int faultCode = 0;
|
||
for (int i = 0; i < binStr.length(); i++) {
|
||
if (binStr.charAt(i) == '1') {
|
||
faultCode = 15 - i;
|
||
break;
|
||
}
|
||
}
|
||
String faultReason = YKCPileFaultReasonEnum.getValueByCode(faultCode);
|
||
System.out.println(faultReason);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testQueryCorpMember() {
|
||
List<AdapayMemberAccount> accountList = adapayMemberAccountService.selectAdapayMemberAccountList(new AdapayMemberAccount());
|
||
if (CollectionUtils.isNotEmpty(accountList)) {
|
||
List<String> ids = accountList.stream().map(x -> x.getId() + "").collect(Collectors.toList());
|
||
adapayMemberAccountService.deleteAdapayMemberAccountByIds(ids);
|
||
}
|
||
|
||
// try {
|
||
// Map<String, Object> map = adapayMemberService.selectAdapayMember("5");
|
||
//
|
||
// String adapayMemberId = "ACM29562569";
|
||
// AdapayCorpMemberVO adapayCorpMemberVO = adapayMemberService.queryCorpAdapayMemberInfo(adapayMemberId);
|
||
// System.out.println(adapayCorpMemberVO);
|
||
//
|
||
//
|
||
// } catch (BaseAdaPayException e) {
|
||
// throw new RuntimeException(e);
|
||
// }
|
||
}
|
||
|
||
@Test
|
||
public void testGetPileListByStationIdList() {
|
||
|
||
// List<String> stationIdList = Lists.newArrayList("2");
|
||
// Map<String, List<AMapEquipmentInfo>> pileListByStationIdList = aMapService.getPileListByStationIdList(stationIdList);
|
||
// System.out.println(pileListByStationIdList);
|
||
|
||
GetStationInfoDTO dto = new GetStationInfoDTO();
|
||
dto.setType("page");
|
||
aMapService.getStationInfosV2(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testMultiSave() {
|
||
String prefix = "test_multi_save:";
|
||
|
||
Map<String, Object> redisMap = Maps.newHashMap();
|
||
|
||
for (int i = 0; i < 1000; i++) {
|
||
redisMap.put(prefix + i, PileInfoVO.builder().pileSn(i + "").build());
|
||
}
|
||
redisCache.multiSave(redisMap, 60);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testBillingTemplate() {
|
||
pileBillingTemplateService.queryStationBillingTemplateListForUniApp("2");
|
||
}
|
||
|
||
|
||
/**
|
||
* 查询汇付会员信息
|
||
*/
|
||
@Test
|
||
public void testQueryAdapayMemberInfo() {
|
||
String adapayMemberId = "ACM82792551";
|
||
String settleAccountId = null;
|
||
try {
|
||
AdapayCorpMemberVO adapayCorpMemberVO = adapayService.queryCorpAdapayMemberInfo(adapayMemberId, wechatAppId1);
|
||
// AdapaySettleAccountVO vo = adapayService.queryAdapaySettleAccount(adapayMemberId, settleAccountId, wechatAppId1);
|
||
System.out.println(JSON.toJSONString(adapayCorpMemberVO));
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testSaveAdapayCallbackRecord() throws JsonProcessingException {
|
||
String data = "{\n" +
|
||
" \"object\": \"refund\",\n" +
|
||
" \"status\": \"succeeded\",\n" +
|
||
" \"prod_mode\": \"true\",\n" +
|
||
" \"id\": \"0022120230531111946980509821471137853440\",\n" +
|
||
" \"refund_order_no\": \"823725974557265920\",\n" +
|
||
" \"payment_id\": \"002212023053110524210509814658135928832\",\n" +
|
||
" \"payment_order_no\": \"C27262970851\",\n" +
|
||
" \"refund_amt\": \"7.82\",\n" +
|
||
" \"fee_amt\": \"0.04\",\n" +
|
||
" \"channel_no\": \"2023053121R064uj\",\n" +
|
||
" \"created_time\": \"1685503187000\",\n" +
|
||
" \"succeed_time\": \"1685503199000\",\n" +
|
||
" \"app_id\": \"app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa\",\n" +
|
||
" \"reason\": \"\",\n" +
|
||
" \"notify_url\": \"https://api.jsowellcloud.com/uniapp/pay/adapayRefundCallback\"\n" +
|
||
"}";
|
||
|
||
JSONObject jsonObject = JSON.parseObject(data);
|
||
ObjectMapper mapper = new ObjectMapper();
|
||
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
|
||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||
AdapayRefundRecord adapayRefundRecord = mapper.readValue(jsonObject.toJSONString(), AdapayRefundRecord.class);
|
||
adapayRefundRecord.setRefundId(jsonObject.getString("id"));
|
||
// 保存到数据库
|
||
adapayRefundRecordService.insertAdapayRefundRecord(adapayRefundRecord);
|
||
}
|
||
|
||
@Test
|
||
public void testQueryCallback() {
|
||
AdapayCallbackRecord aaaa = adapayCallbackRecordService.selectByOrderCode("aaaa");
|
||
System.out.println(aaaa);
|
||
}
|
||
|
||
@Test
|
||
public void testAdapayRefund() {
|
||
// 创建汇付退款对象 在完成初始化设置情况下,调用方法,获取 Refund对象
|
||
try {
|
||
String id = "002212023052710075810508353847861903360";
|
||
String refundAmount = "0.01";
|
||
Map<String, Object> refundParams = Maps.newHashMap();
|
||
refundParams.put("refund_amt", AdapayUtil.formatAmount(refundAmount));
|
||
refundParams.put("refund_order_no", SnowflakeIdWorker.getSnowflakeId());
|
||
refundParams.put("notify_url", "https://api.jsowellcloud.com/uniapp/pay/adapayRefundCallback");
|
||
Map<String, Object> response = Refund.create(id, refundParams);
|
||
System.out.println(JSON.toJSONString(response));
|
||
// if (response != null && !response.isEmpty()) {
|
||
// JSONObject jsonObject = JSONObject.parseObject(response.get("expend").toString());
|
||
// JSONObject pay_info = jsonObject.getJSONObject("pay_info");
|
||
// Map<String, Object> resultMap = JSONObject.parseObject(pay_info.toJSONString(), new TypeReference<Map<String, Object>>() {});
|
||
// }
|
||
} catch (Exception e) {
|
||
System.out.println(e);
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testSaveCallback() throws JsonProcessingException {
|
||
String data = "{\"app_id2\":\"app_d0c80cb1-ffc8-48cb-a030-fe9bec823aaa\",\"created_time\":\"20230530132956\",\"description\":\"{\\\"orderCode\\\":\\\"C29505932783\\\",\\\"type\\\":\\\"order\\\"}\",\"end_time\":\"20230530133027\",\"expend\":{\"bank_type\":\"OTHERS\",\"open_id\":\"o8jhot6PJF93EPhNISsXi28dKdS8\",\"sub_open_id\":\"o4REX5MprZfTaLnVNxfdOY-wnwGI\"},\"fee_amt\":\"0.11\",\"id\":\"002212023053013295610509491838664794112\",\"order_no\":\"C29505932783\",\"out_trans_id\":\"4200001855202305308670391485\",\"party_order_id\":\"02212305304859640306711\",\"pay_amt\":\"20.00\",\"pay_channel\":\"wx_lite\",\"real_amt\":\"20.00\",\"share_eq\":\"Y\",\"status\":\"succeeded\",\"wx_user_id\":\"\"}";
|
||
JSONObject jsonObject = JSON.parseObject(data);
|
||
ObjectMapper mapper = new ObjectMapper();
|
||
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
|
||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||
AdapayCallbackRecord adapayCallbackRecord = mapper.readValue(jsonObject.toJSONString(), AdapayCallbackRecord.class);
|
||
adapayCallbackRecord.setExpend(jsonObject.getString("expend"));
|
||
adapayCallbackRecord.setPaymentId(jsonObject.getString("id"));
|
||
// adapayCallbackRecordService.saveAdapayCallbackRecord(adapayCallbackRecord);
|
||
|
||
}
|
||
|
||
@Test
|
||
public void testAMap() throws Exception {
|
||
String pileConnectorCode = "8800000000012601";
|
||
// String s = aMapService.pushChargingDeviceDynamics(pileConnectorCode);
|
||
GetStationInfoDTO dto = new GetStationInfoDTO();
|
||
dto.setType("page");
|
||
aMapService.getStationInfos(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testVinCode() {
|
||
String msg = "880000000000210203000000000000000000000000000000000000000000000000004C5257594743454B584D43303437313434";
|
||
// 获取消息体
|
||
byte[] msgBody = BytesUtil.str2Bcd(msg);
|
||
|
||
int startIndex = 0;
|
||
int length = 7;
|
||
|
||
// 桩编码
|
||
byte[] pileSnByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String pileSn = BytesUtil.binary(pileSnByteArr, 16);
|
||
|
||
// 保存时间
|
||
// saveLastTime(pileSn, channel);
|
||
|
||
// 枪号
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] connectorNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String connectorCode = BytesUtil.bcd2Str(connectorNumByteArr);
|
||
|
||
// 启动方式
|
||
// 0x01 表示通过刷卡启动充电
|
||
// 0x02 表求通过帐号启动充电 (暂不支持)
|
||
// 0x03 表示vin码启动充电
|
||
startIndex += length;
|
||
byte[] startModeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String startMode = BytesUtil.bcd2Str(startModeByteArr);
|
||
|
||
// 是否需要密码 0x00 不需要 0x01 需要
|
||
startIndex += length;
|
||
byte[] needPasswordFlagByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String needPasswordFlag = BytesUtil.bcd2Str(needPasswordFlagByteArr);
|
||
|
||
// 物理卡号 不足 8 位补 0
|
||
startIndex += length;
|
||
length = 8;
|
||
byte[] cardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String physicsCard = BytesUtil.binary(cardNumByteArr, 16);
|
||
|
||
// 输入密码 对用户输入的密码进行16 位MD5 加密,采用小写上传
|
||
startIndex += length;
|
||
length = 16;
|
||
byte[] inputPasswordByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
|
||
// VIN码
|
||
startIndex += length;
|
||
length = 17;
|
||
byte[] vinCodeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String vinCode = BytesUtil.ascii2Str(vinCodeByteArr);
|
||
System.out.println("桩号:" + pileSn + "申请充电VIN码:" + vinCode);
|
||
|
||
/**
|
||
* 刷卡启动充电
|
||
*/
|
||
String logicCard = "";
|
||
byte[] authenticationFlagByteArr = Constants.zeroByteArray; // 鉴权成功标识
|
||
byte[] accountBalanceByteArr = Constants.zeroByteArray; // 账户余额
|
||
String transactionCode = "";
|
||
|
||
try {
|
||
/**
|
||
* VIN码启动充电
|
||
*/
|
||
if (StringUtils.equals("03", startMode)) {
|
||
// 通过vin码查询数据库绑定用户信息
|
||
MemberPlateNumberRelation plateInfo = memberPlateNumberRelationService.getMemberPlateInfoByVinCode(vinCode);
|
||
if (plateInfo == null) {
|
||
throw new BusinessException("", "未查到绑定用户信息");
|
||
}
|
||
if (!StringUtils.equals("1", plateInfo.getVinStatus())) {
|
||
// 1- 正常使用
|
||
throw new BusinessException("", "vin状态不正确");
|
||
}
|
||
// vin码生成订单 vin启动充电
|
||
GenerateOrderDTO dto = new GenerateOrderDTO();
|
||
dto.setMemberPlateNumberRelation(plateInfo);
|
||
dto.setPileSn(pileSn);
|
||
dto.setConnectorCode(connectorCode);
|
||
dto.setStartMode(StartModeEnum.VIN_CODE.getValue());
|
||
Map<String, Object> map = orderBasicInfoService.generateOrderByCard(dto);
|
||
if (map != null) {
|
||
transactionCode = (String) map.get("transactionCode");
|
||
accountBalanceByteArr = YKCUtils.getPriceByte(String.valueOf(map.get("accountBalance")), 2);
|
||
// 鉴权成功标识 0x00 失败 0x01 成功
|
||
authenticationFlagByteArr = Constants.oneByteArray;
|
||
} else {
|
||
throw new BusinessException("", "生成vin订单失败");
|
||
}
|
||
}
|
||
} catch (BusinessException e) {
|
||
e.printStackTrace();
|
||
System.out.println("1");
|
||
// log.error("VIN码启动充电鉴权 error:{}, {}", e.getCode(), e.getMessage());
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
System.out.println("2");
|
||
transactionCode = "00000000000000000000000000000000";
|
||
accountBalanceByteArr = BytesUtil.checkLengthAndBehindAppendZero(accountBalanceByteArr, 8);
|
||
authenticationFlagByteArr = Constants.zeroByteArray;
|
||
// log.error("VIN码启动充电鉴权 error", e);
|
||
}
|
||
byte[] serialNumByteArr = BytesUtil.str2Bcd(transactionCode);
|
||
|
||
byte[] defeatReasonByteArr = Constants.zeroByteArray;
|
||
|
||
// 不足位数的值补零
|
||
// cardNumByteArr = BytesUtil.checkLengthAndBehindAppendZero(cardNumByteArr, 16);
|
||
// serialNumByteArr = BytesUtil.checkLengthAndBehindAppendZero(serialNumByteArr, 32);
|
||
// pileSnByteArr = BytesUtil.checkLengthAndBehindAppendZero(pileSnByteArr, 14);
|
||
// accountBalanceByteArr = BytesUtil.checkLengthAndBehindAppendZero(accountBalanceByteArr, 8);
|
||
|
||
// 拼装消息体
|
||
byte[] msgBodyByteArr = Bytes.concat(serialNumByteArr, pileSnByteArr, connectorNumByteArr, cardNumByteArr, accountBalanceByteArr,
|
||
authenticationFlagByteArr, defeatReasonByteArr);
|
||
|
||
String s = BytesUtil.bin2HexStr(msgBodyByteArr);
|
||
System.out.println(s);
|
||
}
|
||
|
||
@Test
|
||
public void testGenerateLianlianToken() throws UnsupportedEncodingException {
|
||
String OperatorID = "425010765";
|
||
String OperatorSecret = "123123123123aaaa"; // 1234567890abcdef
|
||
|
||
//请求dataX
|
||
Map<String, String> data = new HashMap<>();
|
||
data.put("OperatorID", OperatorID);
|
||
data.put("OperatorSecret", OperatorSecret);
|
||
String dataJson = JSONUtil.toJsonStr(data);
|
||
|
||
//加密
|
||
byte[] encryptText = Cryptos.aesEncrypt(dataJson.getBytes(StandardCharsets.UTF_8),
|
||
OperatorSecret.getBytes(), OperatorSecret.getBytes());
|
||
String strData = Encodes.encodeBase64(encryptText);
|
||
|
||
Map<String, String> request = new LinkedHashMap<>();
|
||
request.put("OperatorID", OperatorID);
|
||
request.put("Data", strData);
|
||
request.put("TimeStamp", System.currentTimeMillis() + "");
|
||
request.put("Seq", "0001");
|
||
|
||
//生成签名
|
||
String sig = GBSignUtils.sign(request, OperatorSecret);
|
||
request.put("Sig", sig);
|
||
String tokenRequest = JSONUtil.toJsonStr(request);
|
||
|
||
CommonParamsDTO dto = JSONObject.parseObject(tokenRequest, CommonParamsDTO.class);
|
||
|
||
lianLianService.generateToken(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testupdateElecAmount() {
|
||
// orderBasicInfoService.updateElecAmount();
|
||
}
|
||
|
||
@Test
|
||
public void testSelectSomeStatusCardInfo() {
|
||
PileAuthCard pileAuthCard = pileAuthCardService.selectCardInfoByLogicCard("1111111111111111");
|
||
System.out.println(pileAuthCard);
|
||
}
|
||
|
||
@Test
|
||
public void testLianLian() throws UnsupportedEncodingException {
|
||
// 获取令牌
|
||
// LianLianGetTokenDTO dto = new LianLianGetTokenDTO();
|
||
// dto.setOperatorId("MA1JLFUU8");
|
||
// dto.setOperatorSecret("Nh62XxlIR5OjAzFj");
|
||
// String token = lianLianService.getToken("", "MA1JLFUU8", "fGwLsxW1HdzLw7jp");
|
||
// System.out.println("token:" + token);
|
||
|
||
String operatorId = "425010765";
|
||
String operatorSecret = "3DSBTWHVIC6KVCKI";
|
||
// 请求data
|
||
// Map<String, String> data = new HashMap<>();
|
||
// data.put("OperatorID", operatorId);
|
||
// data.put("OperatorSecret", operatorSecret);
|
||
// String dataJson = JSONUtil.toJsonStr(data);
|
||
|
||
JSONObject json = new JSONObject();
|
||
// json.put("StationIDs", com.google.common.collect.Lists.newArrayList("1", "2"));
|
||
json.put("LastQueryTime", "2023-05-29 10:00:00");
|
||
json.put("PageNo", 1);
|
||
json.put("PageSize", 10);
|
||
|
||
String dataJson = JSON.toJSONString(json);
|
||
// 加密
|
||
byte[] encryptText = Cryptos.aesEncrypt(dataJson.getBytes(StandardCharsets.UTF_8),
|
||
operatorSecret.getBytes(), operatorSecret.getBytes());
|
||
String strData = Encodes.encodeBase64(encryptText);
|
||
String timeStamp = DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, new Date());
|
||
Map<String, String> request = new LinkedHashMap<>();
|
||
request.put("OperatorID", operatorId);
|
||
request.put("Data", strData);
|
||
request.put("TimeStamp", timeStamp);
|
||
request.put("Seq", "0001");
|
||
|
||
// 生成签名
|
||
String sig = GBSignUtils.sign(request, operatorSecret);
|
||
request.put("Sig", sig);
|
||
JSONObject jsonObject = new JSONObject(request);
|
||
System.out.println(jsonObject);
|
||
// CommonParamsDTO dto = new CommonParamsDTO();
|
||
// dto.setOperatorID(operatorId);
|
||
// dto.setData(strData);
|
||
// dto.setTimeStamp(timeStamp);
|
||
// dto.setSeq("0001");
|
||
// dto.setSig(sig);
|
||
// Map<String, String> map = lianLianService.generateToken(dto);
|
||
QueryStationInfoDTO dto = new QueryStationInfoDTO();
|
||
dto.setOperatorId(operatorId);
|
||
Map<String, String> map = lianLianService.query_stations_info(dto);
|
||
// String data1 = map.get("Data");
|
||
// 解密data
|
||
// String data1 = "JudlP17tnYuQc2zwOzmjJAb9hgghIymefG5v3ZzSOlPDh5+bJHIedsYzKMD56tHlmlg6Cb7vG+o6KjMSSpn1fyqBH3UVaEFF7uEc+lOuEc9c1vUzq20vBQ7N3EpDKqVBKjZbOezMsKYaCX7Br8XTsCYT8VCQui/np3cn+phi3VC+0s1coNxBX7xoEDZ7iuPjPoSWL7g3J0uOw2SoGaIdBQG3eTxaZJ5L+vBmuDF0pEXgazTMnuKml1mx1QHkig2F7h/ILT0VEKVXWMmmogYgiBk5ItO0DyzRl+ASb184gOhYGo82GJmWRiXrAXmceCiSNvTGg6aL26imIGKkJNfOx9/9mTqjGvy6kzxvWJ29PBU=";
|
||
// byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(data1),
|
||
// operatorSecret.getBytes(), operatorSecret.getBytes());
|
||
// String dataStr = new String(plainText, "UTF-8");
|
||
// Map<String, String> resultMap = (Map<String, String>) JSON.parse(dataStr);
|
||
//
|
||
// String token = resultMap.get("AccessToken");
|
||
//
|
||
// System.out.println("解密后token:" + token);
|
||
|
||
// LianLianPushStationInfoDTO dto1 = LianLianPushStationInfoDTO.builder()
|
||
// .OperatorID("MA1JLFUU8")
|
||
// .DataSecret("HVicnbRZbhPdIdpF")
|
||
// .DataSecretIV("JNvcjSOn1vhrE11M")
|
||
// .SigSecret("53TtFpc4gdVZbF3x")
|
||
// // .token(token)
|
||
// .stationId(2L)
|
||
//
|
||
// .build();
|
||
// lianLianService.pushStationInfo(dto1);
|
||
|
||
// 推送订单状态
|
||
// lianLianService.pushConnectorStatus("8800000000000101", "1");
|
||
|
||
// 推送订单信息
|
||
// lianLianService.pushOrderInfo("C27680791529");
|
||
|
||
// 推送启动充电结果
|
||
// lianLianService.pushStartChargeResult("C27680791529");
|
||
|
||
// 推送充电状态
|
||
// lianLianService.pushChargeStatus("C27680791529");
|
||
|
||
// 推送停止充电结果
|
||
// lianLianService.pushStopChargeResult("C27680791529");
|
||
|
||
// 推送充电订单信息
|
||
// lianLianService.pushChargeOrderInfo("C27680791529");
|
||
|
||
// 推送订单结算信息
|
||
// lianLianService.pushOrderSettlementInfo("C27680791529");
|
||
|
||
// 查询订单结算信息
|
||
// lianLianService.queryOrderSettlementInfo("C27680791529");
|
||
|
||
// 推送订单对账结果信息
|
||
// lianLianService.pushOrderReconciliationInfo("C27680791529");
|
||
|
||
// 测试生成、解密令牌
|
||
// long ttlMillis = 60 * 60 * 24 * 1000;
|
||
// String token = JWTUtils.createToken(operatorId, operatorSecret, ttlMillis);
|
||
// System.out.println(JWTUtils.checkThirdPartyToken(token));
|
||
|
||
JSONObject jsonObject1 = new JSONObject(map);
|
||
jsonObject1.put("OperatorID", "425010765");
|
||
jsonObject1.put("Data", "Ntu99RpveEOm2VUNq6RpD7OuOPXRbNxMOPmaBl67nkLk0nD/VmhipdSpq/Qfswhe1o55YMT+3Z7e6xe3fiJA3cZcvetxOEUF6sjvKLRq2rU=");
|
||
jsonObject1.put("TimeStamp", "20230530090132");
|
||
jsonObject1.put("Seq", "0001");
|
||
jsonObject1.put("Sig", "1568D2D35B245A0205B33D0EF92E7981");
|
||
|
||
String jsonString = JSON.toJSONString(jsonObject1);
|
||
|
||
String result = HttpUtils.sendPostContentType("http://localhost:8080/LianLian/v1/query_stations_info", jsonString, "application/json");
|
||
JSONObject object = JSONObject.parseObject(result);
|
||
String data1 = (String) object.get("data");
|
||
// 解密data
|
||
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(data1),
|
||
operatorSecret.getBytes(), operatorSecret.getBytes());
|
||
String dataStr = new String(plainText, StandardCharsets.UTF_8);
|
||
Map<String, String> resultMap = (Map<String, String>) JSON.parse(dataStr);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testRefundForBalance() {
|
||
BigDecimal refundAmount = new BigDecimal("2");
|
||
// 退款金额 元转分 123
|
||
int refundTotalCents = refundAmount.multiply(new BigDecimal(100)).intValue();
|
||
|
||
// 查询用户充值余额订单 过滤掉已经退款的充值订单 refundableOrder
|
||
List<RefundableWxPayOrderData> recordList = Lists.newArrayList();
|
||
// recordList.add(RefundableWxPayOrderData.builder().outTradeNo("1").transactionId("1").payerAmount(new BigDecimal("1000")).refundableAmount(new BigDecimal("0")).build());
|
||
// recordList.add(RefundableWxPayOrderData.builder().outTradeNo("2").transactionId("2").payerAmount(new BigDecimal("1000")).refundableAmount(new BigDecimal("0")).build());
|
||
recordList.add(RefundableWxPayOrderData.builder().outTradeNo("3").transactionId("3").payerAmount(Constants.whitelistDefaultAmount).refundableAmount(new BigDecimal("300")).build());
|
||
|
||
// 也许需要多笔支付订单才够退款
|
||
List<WechatPayRefundRequest> requestList = com.google.common.collect.Lists.newArrayList();
|
||
WechatPayRefundRequest request;
|
||
for (RefundableWxPayOrderData record : recordList) {
|
||
int refundableTotal = record.getRefundableAmount().intValue(); // 该笔支付订单的可退金额,单位分
|
||
int payerTotal = record.getPayerAmount().intValue(); // 该笔支付订单的支付金额,单位分
|
||
// 用户申请退款金额-可退金额
|
||
refundTotalCents = refundTotalCents - refundableTotal; // 123 - 100
|
||
request = new WechatPayRefundRequest();
|
||
request.setTransaction_id(record.getTransactionId()); // 微信支付单号
|
||
request.setOut_trade_no(record.getOutTradeNo()); // 商户订单号
|
||
request.setOut_refund_no(SnowflakeIdWorker.getSnowflakeId()); // 商户退款单号
|
||
request.setNotify_url(WeChatPayParameter.refundNotifyUrl); // 回调接口
|
||
request.setReason("用户余额退款");
|
||
request.setFunds_account("AVAILABLE");
|
||
if (refundTotalCents > 0) {
|
||
// 如果大于0说明,这笔单退完也不够
|
||
WechatPayRefundRequest.Amount amount = new WechatPayRefundRequest.Amount();
|
||
amount.setRefund(refundableTotal); // 退款金额
|
||
amount.setTotal(payerTotal); // 原订单金额
|
||
request.setAmount(amount);
|
||
requestList.add(request);
|
||
} else {
|
||
// 如果小于0,这笔单退一部分
|
||
// 生成退款单号
|
||
WechatPayRefundRequest.Amount amount = new WechatPayRefundRequest.Amount();
|
||
// 部分退
|
||
int i = refundableTotal + refundTotalCents;
|
||
amount.setRefund(i); // 退款金额
|
||
amount.setTotal(payerTotal); // 原订单金额
|
||
request.setAmount(amount);
|
||
requestList.add(request);
|
||
break;
|
||
}
|
||
}
|
||
|
||
System.out.println(requestList);
|
||
}
|
||
|
||
@Test
|
||
public void testCloseStartFailedOrder() {
|
||
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addDays(new Date(), -2));
|
||
String endTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date());
|
||
orderBasicInfoService.closeStartFailedOrder(startTime, endTime);
|
||
}
|
||
|
||
@Test
|
||
public void testRedisSaveRealTimeData() {
|
||
String pileSn = "88000000000001";
|
||
String connectorCode = "01";
|
||
String orderCode = "88000000000001012211161342359448";
|
||
|
||
String pileConnectorCode = pileSn + connectorCode;
|
||
String redisKey = CacheConstants.PILE_REAL_TIME_MONITOR_DATA + pileConnectorCode + "_" + orderCode;
|
||
|
||
// for (int i = 0; i < 10; i++) {
|
||
// try {
|
||
// Thread.sleep(10000);
|
||
// } catch (InterruptedException e) {
|
||
// e.printStackTrace();
|
||
// }
|
||
// Date now = new Date();
|
||
// redisCache.hset(redisKey, DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:00", now), i + ":" + DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", now));
|
||
// }
|
||
|
||
orderBasicInfoService.getChargingRealTimeData(orderCode);
|
||
}
|
||
|
||
@Test
|
||
public void testuniformMessageSend() {
|
||
AppletTemplateMessageSendDTO appletTemplateMessageSendDTO = new AppletTemplateMessageSendDTO();
|
||
// String openId = wxAppletRemoteService.getOpenIdByCode("0537u2100jTXsP1Y0Y300j426t47u210");
|
||
// System.out.println("openId:" + openId);
|
||
|
||
appletTemplateMessageSendDTO.setTouser("o4REX5MprZfTaLnVNxfdOY-wnwGI"); // openid
|
||
|
||
String templateId = "UyBPbADlZfsCj89rh_xvfZGlxTW5J5KURpZtt9CNFrY";
|
||
appletTemplateMessageSendDTO.setTemplate_id(templateId);
|
||
// appletTemplateMessageSendDTO.setPage("跳转的页面");
|
||
Map<String, Object> map = new HashMap<>();
|
||
map.put("amount17", ImmutableMap.of("value", "¥100")); // 结束时间
|
||
map.put("time3", ImmutableMap.of("value", "2022-12-30")); // 结束时间
|
||
map.put("thing7", ImmutableMap.of("value", "thing7")); // 结束原因
|
||
|
||
// map.put("thing5", ImmutableMap.of("value", "thing5")); // 结束原因
|
||
// map.put("time2", ImmutableMap.of("value", "time2")); // 结束原因
|
||
appletTemplateMessageSendDTO.setData(map);
|
||
|
||
wxAppletRemoteService.uniformMessageSend(appletTemplateMessageSendDTO);
|
||
}
|
||
|
||
@Test
|
||
public void testWeChatRefund() {
|
||
ApplyRefundDTO dto = new ApplyRefundDTO();
|
||
dto.setRefundType("2");
|
||
dto.setMemberId("82100864");
|
||
dto.setRefundAmount(new BigDecimal("1.23"));
|
||
orderBasicInfoService.weChatRefund(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testSelectBalanceRechargeRecord() {
|
||
List<WxpayCallbackRecord> list = wxpayCallbackRecordService.queryBalanceRechargeRecordOfTheLatestYear("82100864");
|
||
System.out.println(list);
|
||
}
|
||
|
||
@Test
|
||
public void testSelectOrderBasicInfoList() {
|
||
QueryOrderDTO orderBasicInfo = new QueryOrderDTO();
|
||
orderBasicInfo.setPileSn("88000000000001");
|
||
orderBasicInfo.setOrderStatus(OrderStatusEnum.IN_THE_CHARGING.getValue());
|
||
List<OrderListVO> orderListVOS = orderBasicInfoService.selectOrderBasicInfoList(orderBasicInfo);
|
||
System.out.println(orderListVOS);
|
||
for (OrderListVO orderListVO : orderListVOS) {
|
||
if (StringUtils.equals(orderListVO.getOrderStatus(), OrderStatusEnum.IN_THE_CHARGING.getValue())) {
|
||
// 修改数据库订单状态
|
||
OrderBasicInfo info = OrderBasicInfo.builder()
|
||
.id(Integer.parseInt(orderListVO.getId()))
|
||
.orderStatus(OrderStatusEnum.ABNORMAL.getValue())
|
||
.build();
|
||
orderBasicInfoService.updateOrderBasicInfo(info);
|
||
}
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testWechatRefund() throws JsonProcessingException {
|
||
WechatPayRefundRequest request = new WechatPayRefundRequest();
|
||
request.setTransaction_id("4200001656202212302746036536"); // 微信支付单号
|
||
request.setOut_trade_no("768677222373363712"); // 商户订单号
|
||
// 生成退款单号
|
||
request.setOut_refund_no(SnowflakeIdWorker.getSnowflakeId()); // 商户退款单号
|
||
request.setNotify_url(WeChatPayParameter.refundNotifyUrl); // 回调接口
|
||
WechatPayRefundRequest.Amount amount = new WechatPayRefundRequest.Amount();
|
||
amount.setRefund(10 * 100); // 退款金额
|
||
amount.setTotal(10 * 100); // 原订单金额
|
||
request.setAmount(amount);
|
||
request.setReason("结算退款");
|
||
request.setFunds_account("AVAILABLE");
|
||
|
||
wechatPayService.ApplyForWechatPayRefundV3(request);
|
||
|
||
// 退款方法
|
||
|
||
}
|
||
|
||
@Test
|
||
public void testUpdatePileSimInfo() {
|
||
String pileSn = "88000000000001";
|
||
String iccid = "89860402102091089943";
|
||
pileBasicInfoService.updatePileSimInfo(pileSn, iccid);
|
||
}
|
||
|
||
@Test
|
||
public void testPay() {
|
||
String code = "081zIoGa11GamE0iVVIa1aaJ4G0zIoGE";
|
||
String openId = memberService.getOpenIdByCode(code);
|
||
Map<String, Object> pay = null;
|
||
try {
|
||
WeixinPayDTO dto = new WeixinPayDTO();
|
||
dto.setOpenId(openId);
|
||
dto.setAmount("0.01");
|
||
pay = orderService.weixinPayV3(dto);
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
}
|
||
System.out.println(JSON.toJSONString(pay));
|
||
}
|
||
|
||
@Test
|
||
public void testMemberRegisterAndLogin() throws BaseAdaPayException {
|
||
|
||
|
||
}
|
||
|
||
@Test
|
||
public void testMemberBasicInfoMapper() {
|
||
// String memberId = "21772870";
|
||
// BigDecimal principalBalance = new BigDecimal("-10");
|
||
// BigDecimal giftBalance = new BigDecimal("-110");
|
||
// Integer version = 2;
|
||
// int i = memberBasicInfoMapper.updateMemberBalance(memberId, principalBalance, giftBalance, version);
|
||
// if (i == 1) {
|
||
// System.out.println("更新余额成功");
|
||
// } else {
|
||
// System.out.println("更新余额失败");
|
||
// }
|
||
|
||
Map<String, Object> refundParams = new HashMap<>(2);
|
||
refundParams.put("payment_id", "002212023071011321210524320114191904768");
|
||
// refundParams.put("refund_id", refund_id);
|
||
// refundParams.put("refund_order_no", refund_order_no);
|
||
try {
|
||
Map<String, Object> refund = Refund.query(refundParams);
|
||
System.out.println(refund);
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 查询退款信息
|
||
*/
|
||
@Test
|
||
public void queryRefundTest() {
|
||
List<String> list = getPaymentIdList(); // 查询退款信息
|
||
for (String paymentId : list) {
|
||
Map<String, Object> refundParams = Maps.newHashMap();
|
||
refundParams.put("payment_id", paymentId);
|
||
try {
|
||
Map<String, Object> refund = Refund.query(refundParams, wechatAppId2);
|
||
System.out.println("支付id:" + paymentId + ", 退款信息:" + JSON.toJSONString(refund));
|
||
System.out.println();
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 查询支付撤销信息
|
||
*/
|
||
@Test
|
||
public void queryPaymentReverseTest() {
|
||
List<String> list = getPaymentIdList(); // 查询支付撤销信息
|
||
for (String paymentId : list) {
|
||
try {
|
||
Map<String, Object> reverse = Maps.newHashMap();
|
||
reverse.put("payment_id", paymentId);
|
||
reverse.put("app_id", wechatAppId2);
|
||
Map<String, Object> response = PaymentReverse.queryList(reverse, wechatAppId2);
|
||
System.out.printf("支付id: %s, 支付撤销信息: %s%n", paymentId, JSON.toJSONString(response));
|
||
System.out.println();
|
||
} catch (BaseAdaPayException e) {
|
||
throw new RuntimeException(e);
|
||
}
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testGenerateBillingTemplateMsgBody() {
|
||
String pileSn = "88000000000001";
|
||
// 根据桩号查询计费模板
|
||
BillingTemplateVO billingTemplateVO = pileBillingTemplateService.selectBillingTemplateDetailByPileSn(pileSn);
|
||
|
||
byte[] messageBody = pileBillingTemplateService.generateBillingTemplateMsgBody(pileSn, billingTemplateVO);
|
||
System.out.println(BytesUtil.binary(messageBody, 16));
|
||
}
|
||
|
||
@Test
|
||
public void testAnalysisPileParameter() {
|
||
BasicPileDTO dto = new BasicPileDTO();
|
||
// 3个都不传的情况
|
||
try {
|
||
System.out.println("3个都不传的情况");
|
||
dto.setPileSn("");
|
||
dto.setConnectorCode("");
|
||
dto.setPileConnectorCode("");
|
||
// orderService.analysisPileParameter(dto);
|
||
System.out.println("数据正确");
|
||
} catch (BusinessException e) {
|
||
System.out.println(e.getMessage());
|
||
}
|
||
System.out.println();
|
||
|
||
// 只传sn的情况
|
||
try {
|
||
System.out.println("只传sn的情况");
|
||
dto.setConnectorCode("");
|
||
dto.setPileConnectorCode("");
|
||
dto.setPileSn("88000000000001");
|
||
// orderService.analysisPileParameter(dto);
|
||
System.out.println("数据正确");
|
||
} catch (BusinessException e) {
|
||
System.out.println(e.getMessage());
|
||
}
|
||
System.out.println();
|
||
|
||
//
|
||
try {
|
||
System.out.println("只穿枪口号的情况");
|
||
dto.setConnectorCode("01");
|
||
dto.setPileConnectorCode("");
|
||
dto.setPileSn("");
|
||
// orderService.analysisPileParameter(dto);
|
||
System.out.println("数据正确");
|
||
} catch (BusinessException e) {
|
||
System.out.println(e.getMessage());
|
||
}
|
||
System.out.println();
|
||
|
||
// 只传充电桩枪口编号的情况
|
||
try {
|
||
System.out.println("只传充电桩枪口编号的情况");
|
||
dto.setPileConnectorCode("8800000000000101");
|
||
dto.setConnectorCode("");
|
||
dto.setPileSn("");
|
||
// orderService.analysisPileParameter(dto);
|
||
System.out.println("数据正确");
|
||
} catch (BusinessException e) {
|
||
System.out.println(e.getMessage());
|
||
}
|
||
|
||
try {
|
||
System.out.println();
|
||
System.out.println("传充电桩枪sn+枪口号的情况");
|
||
dto.setPileConnectorCode("");
|
||
dto.setConnectorCode("01");
|
||
dto.setPileSn("88000000000001");
|
||
// orderService.analysisPileParameter(dto);
|
||
System.out.println("数据正确");
|
||
} catch (BusinessException e) {
|
||
System.out.println(e.getMessage());
|
||
}
|
||
}
|
||
|
||
@Test
|
||
public void testImportBillingTemplate() {
|
||
ImportBillingTemplateDTO dto = new ImportBillingTemplateDTO();
|
||
dto.setBillingTemplateId("1");
|
||
// 查询公共计费模板是否存在
|
||
PileBillingTemplate pileBillingTemplate = pileBillingTemplateMapper.selectPileBillingTemplateById(Long.valueOf(dto.getBillingTemplateId()));
|
||
if (pileBillingTemplate == null) {
|
||
|
||
}
|
||
List<PileBillingDetail> billingDetailList = pileBillingTemplate.getPileBillingDetailList();
|
||
}
|
||
|
||
@Test
|
||
public void testProcess() {
|
||
// 62 68
|
||
String msgString = "680da300000388000000000001010020d06840a40000130000000000000000000000000000000088000000000001010202000000000000000000000000000000000000000000000000000000000000000000001516";
|
||
byte[] msg = BytesUtil.str2Bcd(msgString);
|
||
boolean b = YKCUtils.checkMsg(msg);
|
||
// ykcBusinessService.process(msg, null);
|
||
}
|
||
|
||
@Test
|
||
public void testHeartbeat() {
|
||
// heartbeatRequestHandler.updateStatus("88000000000001", "01", "0");
|
||
|
||
// heartbeatRequestHandler.updateStatus("88000000000001", "02", "0");
|
||
}
|
||
|
||
@Test
|
||
public void testPush() {
|
||
byte[] msg = new byte[]{};
|
||
String pileSn = "88000000000001";
|
||
// ykcPushBusinessService.push(msg, pileSn, YKCFrameTypeCode.READ_REAL_TIME_MONITOR_DATA_CODE);
|
||
}
|
||
|
||
@Test
|
||
public void TestMapUtils() {
|
||
String address = "淀山湖镇黄浦江南路278号";
|
||
String areaCode = "320000,320500,320583";
|
||
Map<String, String> longitudeAndLatitude = AddressUtils.getLongitudeAndLatitude(areaCode, address);
|
||
System.out.println(longitudeAndLatitude);
|
||
}
|
||
|
||
@Test
|
||
public void testCreatePile() {
|
||
BatchCreatePileDTO dto = BatchCreatePileDTO.builder()
|
||
.merchantId("1")
|
||
.stationId("1")
|
||
.softwareProtocol("1")
|
||
// .connectorNum(1)
|
||
// .num(10)
|
||
// .productionDate(new Date())
|
||
.build();
|
||
pileService.batchCreatePile(dto);
|
||
}
|
||
|
||
@Test
|
||
public void testGetIncre() {
|
||
StopWatch stopWatch = new StopWatch();
|
||
|
||
// 生成100个
|
||
stopWatch.start("生成100个sn号");
|
||
List<String> list2 = snUtils.generateSN(1);
|
||
stopWatch.stop();
|
||
System.out.println(list2);
|
||
|
||
System.out.println(stopWatch.getLastTaskTimeMillis());
|
||
}
|
||
|
||
@Test
|
||
public void testDict() {
|
||
// String dictValue = DictUtils.getDictValue("query_pile_info", "url");
|
||
// String station_type = DictUtils.getDictLabel("station_type", "1");
|
||
// System.out.println(station_type);
|
||
// System.out.println("123");
|
||
|
||
List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station");
|
||
List<String> stationIdList = com.google.common.collect.Lists.newArrayList();
|
||
if (CollectionUtils.isNotEmpty(adapay_station)) {
|
||
for (SysDictData sysDictData : adapay_station) {
|
||
stationIdList.add(sysDictData.getDictValue());
|
||
}
|
||
}
|
||
System.out.println(stationIdList);
|
||
}
|
||
|
||
@Test
|
||
public void testSelectByMerchantId() {
|
||
List<PileStationInfo> list = pileStationInfoService.selectStationListByMerchantId(Long.valueOf(Constants.ONE));
|
||
System.out.println(list);
|
||
}
|
||
|
||
@Test
|
||
public void testStr2Bcd() {
|
||
String logicCardNum = "00000000";
|
||
byte[] logicCardNumByteArr = BytesUtil.str2Bcd(logicCardNum);
|
||
System.out.println(Arrays.toString(logicCardNumByteArr));
|
||
}
|
||
|
||
@Test
|
||
public void testBigDecimalMultiply() {
|
||
BigDecimal a = new BigDecimal("216.5");
|
||
BigDecimal b = new BigDecimal("11.5");
|
||
|
||
BigDecimal result = a.multiply(b).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||
System.out.println(result);
|
||
}
|
||
|
||
@Test
|
||
public void testRemoteUpdate() {
|
||
ArrayList<String> list = new ArrayList<>();
|
||
list.add("88000000000001");
|
||
// pileRemoteService.updateFirmware(list);
|
||
}
|
||
|
||
@Test
|
||
public void testGetUserPhoneNum() {
|
||
String code = "0e5394cfa4eb41c6181ed257f2368a86dfe4ebdac0a4fac85df63657637e6cc3";
|
||
wxAppletRemoteService.getMobileNumberByCode(code);
|
||
}
|
||
|
||
@Test
|
||
public void testDistance() {
|
||
QueryStationDTO dto = new QueryStationDTO();
|
||
dto.setStationLat("123.2222");
|
||
dto.setStationLng("55.6232");
|
||
|
||
// pileStationInfoService.uniAppQueryStationInfos(dto);
|
||
}
|
||
|
||
/**
|
||
* 生成英文字母随机数 RandomStringUtils.randomAlphabetic(10);
|
||
* 生成数字随机数 RandomStringUtils.randomNumeric(10);
|
||
* 字母+数字结合 RandomStringUtils.randomAlphanumeric(10);
|
||
*/
|
||
@Test
|
||
public void Test() throws ParseException {
|
||
/*String s = RandomStringUtils.randomAlphanumeric(32);
|
||
System.out.println(s); // PuLe4Tyyg1jSFNPhF5d2Ts9ejRn6E8KQ
|
||
String str = "JS160829";
|
||
System.out.println(Md5Utils.hash(str).toUpperCase(Locale.ROOT));
|
||
*/
|
||
String s = RandomStringUtils.randomAlphanumeric(16).toUpperCase(Locale.ROOT);
|
||
System.out.println(s);
|
||
|
||
Date startTimeDate = sdf.parse("2022-11-26 10:44:11");
|
||
Date endTimeDate = sdf.parse("2022-11-27 12:45:11");
|
||
|
||
System.out.println(DateUtils.getDatePoor(endTimeDate, startTimeDate)); // 1天2小时1分钟
|
||
|
||
|
||
|
||
|
||
/*String stra = "sp_mchid=1632405339&sub_mchid=1632405339&out_trade_no=1217752501201407033233368318&sp_appid=wxbb3e0d474569481d&sub_appid=wxbb3e0d474569481d" +
|
||
"bbac689f4654b209de4d6944808ec80b";
|
||
System.out.println(Md5Utils.hash(stra).toUpperCase(Locale.ROOT));*/
|
||
}
|
||
|
||
@Test
|
||
public void testSimCard() throws ParseException {
|
||
ArrayList<String> list = Lists.newArrayList();
|
||
Collections.addAll(list, "898607B9102090253556", "898607B9102090253560");
|
||
// String s = list.toString().replaceAll("(?:\\[|null|\\]| +)", "");
|
||
// System.out.println(s);
|
||
// List<SimCardVO> simCardVOList = simCardService.selectSimCardInfoByIccId(list);
|
||
// System.out.println(simCardVOList.toString());
|
||
|
||
// simCardService.XunZhongSimRenewal(list, 12);
|
||
// System.out.println(s);
|
||
|
||
// SimCardVO simCardVO = simCardService.searchByLoop("898607B9102090253556");
|
||
//
|
||
// System.out.println(simCardVO.toString());
|
||
|
||
simCardService.WuLianSimRenew(list, 1);
|
||
|
||
|
||
}
|
||
|
||
@Test
|
||
public void testRefund() {
|
||
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode("88000000000001012212171045412218");
|
||
orderInfo.setReason("充电异常中止,急停开入");
|
||
|
||
TransactionRecordsData data = TransactionRecordsData.builder()
|
||
.transactionCode("88000000000001012212171045412218")
|
||
.consumptionAmount(String.valueOf(0.00))
|
||
.stopReasonMsg(orderInfo.getReason())
|
||
.totalElectricity("0")
|
||
.sharpUsedElectricity("0")
|
||
.peakUsedElectricity("0")
|
||
.flatUsedElectricity("0")
|
||
.valleyUsedElectricity("0")
|
||
.build();
|
||
|
||
// orderBasicInfoService.settleOrder(data, orderInfo);
|
||
}
|
||
|
||
|
||
@Test
|
||
public void testLoginHandler() {
|
||
String msg = "8800000000001001010f63362d333000000000898604b319227036282200";
|
||
byte[] msgBody = BytesUtil.str2Bcd(msg);
|
||
|
||
int startIndex = 0;
|
||
int length = 7;
|
||
|
||
// 桩编码
|
||
byte[] pileSnByte = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String pileSn = BytesUtil.binary(pileSnByte, 16);
|
||
// log.info("桩号:{}", pileSn);
|
||
|
||
|
||
// 桩类型 0 表示直流桩, 1 表示交流桩
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] pileTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String pileType = BytesUtil.bcd2Str(pileTypeByteArr);
|
||
|
||
// 充电枪数量
|
||
startIndex += length;
|
||
byte[] connectorNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String connectorNum = BytesUtil.bcd2Str(connectorNumByteArr);
|
||
|
||
// 通信协议版本 版本号乘 10,v1.0 表示 0x0A
|
||
startIndex += length;
|
||
byte[] communicationVersionByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
// int i = Integer.parseInt(BytesUtil.bcd2Str(communicationVersionByteArr)); // 0F --> 15
|
||
BigDecimal bigDecimal = new BigDecimal(BytesUtil.bcd2Str(communicationVersionByteArr));
|
||
BigDecimal communicationVersionTemp = bigDecimal.divide(new BigDecimal(10));
|
||
String communicationVersion = "v" + communicationVersionTemp;
|
||
|
||
// 程序版本
|
||
startIndex += length;
|
||
length = 8;
|
||
byte[] programVersionByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String programVersion = BytesUtil.bcd2Str(programVersionByteArr);
|
||
|
||
// 网络连接类型 0x00 SIM 卡 0x01 LAN 0x02 WAN 0x03 其他
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] internetConnectionTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String internetConnection = BytesUtil.bcd2Str(internetConnectionTypeByteArr);
|
||
|
||
// sim卡
|
||
startIndex += length;
|
||
length = 10;
|
||
byte[] simCardNumByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String iccid = BytesUtil.bin2HexStr(simCardNumByteArr);
|
||
|
||
// 运营商 0x00 移动 0x02 电信 0x03 联通 0x04 其他
|
||
startIndex += length;
|
||
length = 1;
|
||
byte[] businessTypeByteArr = BytesUtil.copyBytes(msgBody, startIndex, length);
|
||
String business = BytesUtil.bcd2Str(businessTypeByteArr);
|
||
|
||
LoginRequestData loginRequestData = LoginRequestData.builder()
|
||
.pileSn(pileSn)
|
||
.pileType(pileType)
|
||
.connectorNum(connectorNum)
|
||
.communicationVersion(communicationVersion)
|
||
.programVersion(programVersion)
|
||
.internetConnection(internetConnection)
|
||
.iccid(iccid)
|
||
.business(business)
|
||
.build();
|
||
|
||
// 结果(默认 0x01:登录失败)
|
||
byte[] flag = Constants.oneByteArray;
|
||
|
||
// 通过桩编码SN查询数据库,如果有数据,则登录成功,否则登录失败
|
||
QueryPileDTO dto = new QueryPileDTO();
|
||
dto.setPileSn(pileSn);
|
||
List<PileDetailVO> list = pileBasicInfoService.queryPileInfos(dto);
|
||
if (CollectionUtils.isNotEmpty(list)) {
|
||
flag = Constants.zeroByteArray;
|
||
// 登录成功,保存桩号和channel的关系
|
||
|
||
// PileChannelEntity.put(pileSn, channel);
|
||
// 更改桩和该桩下的枪口状态分别为 在线、空闲
|
||
// pileBasicInfoService.updatePileStatus(pileSn, PileStatusEnum.ON_LINE.getValue());
|
||
// pileConnectorInfoService.updateConnectorStatusByPileSn(pileSn, PileConnectorDataBaseStatusEnum.FREE.getValue());
|
||
|
||
// 对时
|
||
ProofreadTimeCommand command = ProofreadTimeCommand.builder().pileSn(pileSn).build();
|
||
ykcPushCommandService.pushProofreadTimeCommand(command);
|
||
|
||
// 公共方法修改状态
|
||
pileBasicInfoService.updateStatus(BytesUtil.bcd2Str(new byte[]{0x01}), pileSn, null, null, null);
|
||
|
||
|
||
// 下发二维码
|
||
IssueQRCodeCommand issueQRCodeCommand = IssueQRCodeCommand.builder().pileSn(pileSn).build();
|
||
ykcPushCommandService.pushIssueQRCodeCommand(issueQRCodeCommand);
|
||
|
||
}
|
||
|
||
|
||
// 充电桩使用的sim卡,把信息存库
|
||
if (StringUtils.equals("00", internetConnection)) {
|
||
try {
|
||
pileBasicInfoService.updatePileSimInfo(pileSn, iccid);
|
||
} catch (Exception e) {
|
||
// log.error("更新充电桩sim卡信息失败", e);
|
||
System.out.println(e.getMessage());
|
||
}
|
||
}
|
||
|
||
// 保存报文
|
||
String jsonMsg = JSON.toJSONString(loginRequestData);
|
||
// pileMsgRecordService.save(pileSn, pileSn, type, jsonMsg, ykcDataProtocol.getHEXString());
|
||
|
||
// // 消息体
|
||
// byte[] messageBody = Bytes.concat(pileSnByte, flag);
|
||
// return getResult(ykcDataProtocol, messageBody);
|
||
}
|
||
|
||
@Test
|
||
public void testGetMemberToken() {
|
||
String memberId = JWTUtils.getMemberId("eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2NzY1MTY5MzgsImV4cCI6MTY3OTEwODkzOH0.4MwhZIOpnCfQloR7zEm2hwPOh2yyI2qxbBbTcv_SnZ4");
|
||
System.out.println(memberId);
|
||
}
|
||
|
||
/**
|
||
* 测试更新银行卡
|
||
*/
|
||
@Test
|
||
public void changeBankCardTest() throws BaseAdaPayException {
|
||
ChangeBankCardDTO dto = new ChangeBankCardDTO();
|
||
dto.setCardId("1018810800000168");
|
||
dto.setCardName("海南信祥物业管理有限公司");
|
||
dto.setTelNo("17384941319");
|
||
dto.setBankCode("88000835");
|
||
dto.setBankAcctType("1");
|
||
dto.setProvCode("0046");
|
||
dto.setAreaCode("4601");
|
||
|
||
String wechatAppId = wechatAppId1;
|
||
// 1-删除结算账户信息
|
||
// String adapayMemberId = account.getAdapayMemberId();
|
||
String adapayMemberId = "ACM69867986";
|
||
String settleAccountId = null;
|
||
AdapayCorpMemberVO adapayCorpMemberVO = adapayService.queryCorpAdapayMemberInfo(adapayMemberId, wechatAppId);
|
||
if (adapayCorpMemberVO != null) {
|
||
settleAccountId = adapayCorpMemberVO.getSettleAccountId();
|
||
}
|
||
adapayService.createDeleteSettleAccountRequest(adapayMemberId, settleAccountId, wechatAppId);
|
||
// 2-使用新账户信息创建结算账户
|
||
SettleAccountDTO settleAccountDTO = new SettleAccountDTO();
|
||
settleAccountDTO.setCardId(dto.getCardId());
|
||
settleAccountDTO.setCardName(dto.getCardName());
|
||
settleAccountDTO.setTelNo(dto.getTelNo());
|
||
settleAccountDTO.setBankCode(dto.getBankCode());
|
||
settleAccountDTO.setBankAcctType(dto.getBankAcctType());
|
||
settleAccountDTO.setProvCode(dto.getProvCode());
|
||
settleAccountDTO.setAreaCode(dto.getAreaCode());
|
||
adapayService.createSettleAccountRequest(settleAccountDTO, adapayMemberId, wechatAppId);
|
||
}
|
||
|
||
public static void main(String[] args) {
|
||
String data = "{\"total\":1,\"stationStatusInfo\":{\"operationID\":\"123456789\",\"stationID\":\"111111111111111\",\"connectorStatusInfos\":{\"connectorID\":1,\"equipmentID\":\"10000000000000000000001\",\"status\":4,\"currentA\":0,\"currentB\":0,\"currentC\":0,\"voltageA\":0,\"voltageB\":0,\"voltageC\":0,\"soc\":10}}}";
|
||
String dataSecret = "1234567890abcdef";
|
||
String dataSecretIv = "1234567890abcdef";
|
||
|
||
// 加密数据
|
||
String encryptData = Cryptos.encrypt(JSON.toJSONString(data), dataSecret, dataSecretIv);
|
||
String encryptData2 = Cryptos.aesEncrypt(JSON.toJSONString(data), dataSecret, dataSecretIv);
|
||
System.out.println(StringUtils.equals(encryptData, encryptData2));
|
||
String str = "il7B0BSEjFdzpyKzfOFpvg/Se1CP802RItKYFPfSLRxJ3jf0bVl9hvYOEktPAYW2nd7S8MBcyHYyacHKbI" +
|
||
"Sq5iTmDzG+ivnR+SZJv3USNTYVMz9rCQVSxd0cLlqsJauko79NnwQJbzDTyLooYoIwz75qBOH2/x" +
|
||
"OMirpeEqRJrF/EQjWekJmGk9RtboXePu2rka+Xm51syBPhiXJAq0GfbfaFu9tNqs/e2Vjja/ltE1M0lq" +
|
||
"vxfXQ6da6HrThsm5id4ClZFIi0acRfrsPLRixS/IQYtksxghvJwbqOsbIsITail9Ayy4tKcogeEZiOO+4Ed2" +
|
||
"64NSKmk7l3wKwJLAFjCFogBx8GE3OBz4pqcAn/ydA=";
|
||
|
||
System.out.println(StringUtils.equals(encryptData, str));
|
||
System.out.println(StringUtils.equals(encryptData2, str));
|
||
}
|
||
|
||
}
|