import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.math.*;
class main {
static long bytesAllocatedByCurrentThread() {
var bean = advancedThreadMXBean();
return bean == null ? 0 : bean.getThreadAllocatedBytes(threadID());
}
static com.sun.management.ThreadMXBean advancedThreadMXBean_cache;
static com.sun.management.ThreadMXBean advancedThreadMXBean() { if (advancedThreadMXBean_cache == null) advancedThreadMXBean_cache = advancedThreadMXBean_load(); return advancedThreadMXBean_cache; }
static com.sun.management.ThreadMXBean advancedThreadMXBean_load() {
return optCast(com.sun.management.ThreadMXBean.class, threadMXBean());
}
static long threadID() {
return currentThread().getId();
}
static A optCast(Class c, Object o) {
return isInstance(c, o) ? (A) o : null;
}
static ThreadMXBean threadMXBean() {
return ManagementFactory.getThreadMXBean();
}
static Thread currentThread() {
return Thread.currentThread();
}
static boolean isInstance(Class type, Object arg) {
return type.isInstance(arg);
}
}